在wordpress中,使用java脚本的推荐选项是wp_enqueue_script()
,但如果我想在该脚本中加入一些php怎么办?例如,看看这段代码:
$(window).scroll(function () {
if ($(window).scrollTop() > 100) {
<?php if ( !is_front_page() ){ ?>
$('.primary-menu').hide('slow', 'swing');
$('.site-logo').css('height', '60px').css('padding-bottom', '0');
$('#masthead').css('height', '5px');
<?php } ?>
<?php if ( !mida_is_english() ) : ?>
$('.site-header').addClass('shrink');
$("#masthead.site-header.shrink")
.find('.site-logo img')
.attr('src', '<?php echo $upload_dir['baseurl']?>/2015/12/extra-cropped-logo.jpg');
<?php else : ?>
$('.site-header').addClass('shrink');
$("#masthead.site-header.shrink")
.find('.site-logo img')
.attr('src', '<?php echo $upload_dir['baseurl']?>/2015/10/mida-eng-logo.png');
<?php endif; ?>
}
else{ //some more code....
如何将此代码排入队列?我可以把它放在php文件中并使用wp_enqueue_script()
来排队该文件?
希望我的问题有道理..
答案 0 :(得分:0)
如果您不愿意将该代码添加到网站的 footer.php 文件中,可以使用wp_localize_script()
将数据传递到JavaScript
// Localize the script with new data
$data = array(
'is_front_page' => is_front_page(),
'is_english' => mida_is_english()
);
wp_localize_script( 'your-registered-script-handle', 'page_info', $data );
请注意,您可能需要在wp_enqueue_scripts
挂钩之后挂钩,以使其正常工作。然后,您可以通过以下方式在JS中使用它:
// This is in a JavaScript file
if ( !page_info.is_front_page ) {
// Do stuff
}
if ( !page_info.is_english ) {
// Do some other stuff
}
所有这些都说,我建议只将你提到的代码注入wp_footer
,而不是搞乱本地化......