嘿,我';我试图在一个if语句中加入两个条件。一个是Javascript,一个是PHP
我试图在一个if语句中加入两个条件。其中一个条件必须用javascript/jquery编写,因为我想获得窗口大小。我正在使用WordPress,什么时候是分类页面,当窗口大小小于1024px时,我想嘿,我';我试图在一个if语句中加入两个条件。一个是Javascript,一个是PHP,javascript,php,jquery,wordpress,Javascript,Php,Jquery,Wordpress,我试图在一个if语句中加入两个条件。其中一个条件必须用javascript/jquery编写,因为我想获得窗口大小。我正在使用WordPress,什么时候是分类页面,当窗口大小小于1024px时,我想显示:无 var screenWidth=jQuery(window).width(); 控制台日志(屏幕宽度); 如果(screenWidth您的方法是正确的,应该执行您想要执行的操作 但是,我认为JS中插入get_sidebar()的那一行是错误的。您正在那里启动PHP并执行get_sideb
显示:无
var screenWidth=jQuery(window).width();
控制台日志(屏幕宽度);
如果(screenWidth您的方法是正确的,应该执行您想要执行的操作
但是,我认为JS
中插入get_sidebar()
的那一行是错误的。您正在那里启动PHP
并执行get_sidebar
函数。您需要回显该函数的返回值
jQuery(`<?php echo get_sidebar(); ?>`).css('display', 'none');
jQuery(``).css('display','none');
或
jQuery(``).css('display','none');
您的方法是正确的,应该执行您想要执行的操作
但是,我认为JS
中插入get_sidebar()
的那一行是错误的。您正在那里启动PHP
并执行get_sidebar
函数。您需要回显该函数的返回值
jQuery(`<?php echo get_sidebar(); ?>`).css('display', 'none');
jQuery(``).css('display','none');
或
jQuery(``).css('display','none');
您可以使用CSS媒体查询来解决此问题
@media screen and (max-width: 1024px) {
// apply css for everything under 1024px
}
您可以使用CSS媒体查询来解决此问题
@media screen and (max-width: 1024px) {
// apply css for everything under 1024px
}
首先使用wp本地化脚本将php值传递给javascript文件。请参见下面的示例。希望您理解下面的代码我在这里做了什么
functions.php
/**
* Enqueue scripts and styles.
*/
function manami_scripts() {
wp_enqueue_script( 'manami-script', get_template_directory_uri() . '/assets/js/script.js', array(), '1.0.0', true );
// localize script
$localization = array(
'isCat' => is_category()
);
wp_localize_script( 'manami-script', 'myValue', $localization );
}
add_action( 'wp_enqueue_scripts', 'manami_scripts' );
然后转到脚本文件并粘贴以下代码
script.js
/**
* Enqueue scripts and styles.
*/
function manami_scripts() {
wp_enqueue_script( 'manami-script', get_template_directory_uri() . '/assets/js/script.js', array(), '1.0.0', true );
// localize script
$localization = array(
'isCat' => is_category()
);
wp_localize_script( 'manami-script', 'myValue', $localization );
}
add_action( 'wp_enqueue_scripts', 'manami_scripts' );
(function($){
'use strict';
var screenWidth = jQuery(window).width();
console.log(screenWidth);
console.log(myValue.isCat);
if(myValue.isCat){ // when value is true
if(screenWidth <= 1024){
jQuery('#sidebar_wrap').css('display', 'none');
}
}
})(jQuery);
(函数($){
"严格使用",;
var screenWidth=jQuery(window).width();
控制台日志(屏幕宽度);
log(myValue.isCat);
if(myValue.isCat){//when value为true
if(screenWidth首先使用wp本地化脚本将php值传递给javascript文件。参见下面的示例。希望您理解下面的代码我在这里做了什么
functions.php
/**
* Enqueue scripts and styles.
*/
function manami_scripts() {
wp_enqueue_script( 'manami-script', get_template_directory_uri() . '/assets/js/script.js', array(), '1.0.0', true );
// localize script
$localization = array(
'isCat' => is_category()
);
wp_localize_script( 'manami-script', 'myValue', $localization );
}
add_action( 'wp_enqueue_scripts', 'manami_scripts' );
然后转到脚本文件并粘贴以下代码
script.js
/**
* Enqueue scripts and styles.
*/
function manami_scripts() {
wp_enqueue_script( 'manami-script', get_template_directory_uri() . '/assets/js/script.js', array(), '1.0.0', true );
// localize script
$localization = array(
'isCat' => is_category()
);
wp_localize_script( 'manami-script', 'myValue', $localization );
}
add_action( 'wp_enqueue_scripts', 'manami_scripts' );
(function($){
'use strict';
var screenWidth = jQuery(window).width();
console.log(screenWidth);
console.log(myValue.isCat);
if(myValue.isCat){ // when value is true
if(screenWidth <= 1024){
jQuery('#sidebar_wrap').css('display', 'none');
}
}
})(jQuery);
(函数($){
"严格使用",;
var screenWidth=jQuery(window).width();
控制台日志(屏幕宽度);
log(myValue.isCat);
if(myValue.isCat){//when value为true
如果(屏幕宽度我这样做,它工作得很好
<?php get_sidebar() ?>
<script>
function setSideBar() {
var screenWidth = jQuery(window).width();
if(screenWidth <= 1024){
jQuery('#widget').css('display', 'none');
console.log(jQuery('#widget'));
} else {
jQuery('#widget').css('display', 'block');
}
}
setSideBar();
jQuery(document).ready(function () {
console.log('test')
window.addEventListener("resize", setSideBar, false);
});
</script>
函数setSideBar(){
var screenWidth=jQuery(window).width();
如果(屏幕宽度我这样做,它工作得很好
<?php get_sidebar() ?>
<script>
function setSideBar() {
var screenWidth = jQuery(window).width();
if(screenWidth <= 1024){
jQuery('#widget').css('display', 'none');
console.log(jQuery('#widget'));
} else {
jQuery('#widget').css('display', 'block');
}
}
setSideBar();
jQuery(document).ready(function () {
console.log('test')
window.addEventListener("resize", setSideBar, false);
});
</script>
函数setSideBar(){
var screenWidth=jQuery(window).width();
if(screenWidth)在CSS中听到媒体查询词了吗?这个解决方案有什么问题?在CSS中不能说if(is_category()){}…如我所写。我需要2个条件..没有一个我可以在控制台中看到侧边栏的全部内容…但是当屏幕大于1024px时,侧边栏仍然不显示。你听过CSS中的媒体查询词吗?这个解决方案有什么不起作用?你不能在CSS中说如果(is_category()){}…如我所写。我需要2个条件..没有一个我可以在控制台中看到侧边栏的全部内容…但是当屏幕大于1024px时,侧边栏仍然不显示,如何在这里检查PHP中的is_category?@davidev您不需要检查它是否为is_category,您可以将css应用到category页面template@devidev,Jiankai Zheng是对的,您可以在if条件后粘贴代码,不需要加载js和所有内容。在这里如何检查PHP中的is_category?@davidev您不需要检查它是否是is_category,您可以将css应用到category页面template@devidev,Jiankai Zheng是对的,如果不需要加载js an,您可以在条件满足后粘贴代码恭喜,但在WordPress中,在php文件中编写js代码不是一个好的做法。这就是为什么有一个名为wp_localize_script的函数将php值传递给js文件的原因。:)恭喜,但在WordPress中,在php文件中编写js代码不是一个好的做法。这就是为什么有一个名为wp_localize_script的函数将php值传递给js文件的原因。:)