我正在尝试通过以下方式将JavasScript和样式表放置到父页面和子页面functions.php
. 父页面是我们的人员,子页面是员工姓名。
这是我写的:
JavaScript
wp_register_script (\'unslider-js\', get_stylesheet_directory_uri() . \'/library/js/unslider-min.js\', array( \'jquery\' ),\'1\',false);
if ( is_page(\'our-people\') && in_array( get_post_ancestors(597) ) ) { wp_enqueue_script (\'unslider-js\'); }
样式表
wp_register_style (\'unslider-css\', get_stylesheet_directory_uri() . \'/library/css/unslider.css\', array(),\'\', \'all\');
if ( is_page() && in_array( get_post_ancestors(597) ) ) { wp_enqueue_style (\'unslider-css\'); }
它似乎没有为父页面和子页面获取这些文件。有谁能指导我如何实现这种方法?
SO网友:Dave Romsey
此代码将进行检查,以确保正在查看我们的人员页面(带有slug的页面our-people
) 或ID为597的页面的子级之一,并将JavaScript和CSS排队,如果是这样:
function wpse241030_scripts() {
// Bail if we\'re not looking at the Our People page or one of the children of page with ID 597.
if ( ! is_page( \'our-people\' ) && ! in_array( 597, (array) get_post_ancestors( get_the_ID() ) ) ) {
return;
}
// Enqueue unslider JS
wp_enqueue_script( \'unslider-js\', get_stylesheet_directory_uri() . \'/library/js/unslider-min.js\', array( \'jquery\' ), \'1\', false );
// Enqueue unslider CSS
wp_enqueue_style( \'unslider-css\', get_stylesheet_directory_uri() . \'/library/css/unslider.css\', array(), \'\', \'all\' );
}
add_action( \'wp_enqueue_scripts\', \'wpse241030_scripts\' );