尝试仅在PODS类别/自定义帖子类型内的页面上加载JavaScript

时间:2018-09-08 作者:Henry

我想加载CSS,但只在某些页面上加载。

这段代码通常工作得很好,但我无法确定“条件标记”是什么只会加载这些页面。

这是我在函数中放置的函数。php文件:

//Below loads JS ONLY for the main directory pages
function directory_scripts () {
        if ( *** NOT SURE *** ):
            wp_enqueue_style(
            \'addevent js\',
            get_stylesheet_directory_uri() . \'/js/addevent.js\',
            array()
        );
        endif;
 }

// add_action( \'wp_enqueue_scripts\', \'directory_scripts\' );
我通常做的是查看<body> 标记以查看我可以引用的内容,但它只是不想工作。。。

这是我的<body> 信息:

<body class="conference_2018-template-default single single-conference_2018 postid-3025 wp-custom-logo oceanwp-theme fullscreen-mobile no-header-border default-breakpoint has-sidebar content-right-sidebar has-topbar page-header-disabled has-breadcrumbs elementor-default ">
是因为我在使用PODS自定义Post WordPress框架吗?

我的URL结构如下:

http://wwebsite。com/目录/页面

^我正在尝试将JS放在上面的“此处页面”页面中。。。

谢谢你的帮助

1 个回复
SO网友:Nicolai Grossherr

不应该is_singular() 工作:

如果post\\u类型为“foo”,则返回true。

if ( is_singular( \'foo\' ) ) {
  //code
}
另一种选择是get_post_type():

检索当前帖子或给定帖子的帖子类型。

if ( \'foo\' == get_post_type() ) {
 //code
}
归根结底,这完全是你如何构建网站的问题,这还不够清楚。因此,您最好通过类别、分类法相关的条件标记进行区分。E、 g.对于categories, 也许像法典中的exmaple:

if ( is_category( 5 ) || cat_is_ancestor_of( 5, get_query_var( \'cat\' ) ) ) {
  //code
}
当显示的帖子类别为term\\u id 5或term\\u id 5的祖先(子类别,子类别…)时,返回true。


如果您实际上试图以特定父页的子页为目标,get_ancestors() 可能是一种选择。示例性:

if ( in_array( 123, get_ancestors( get_the_ID(), \'custom-post-type\' ) ) {
  //code
}
这应该会让你有一个开始Codex: Conditional Tags 又一本好书。顺便说一下,我的回答是基于这样的假设,即PODS使用WordPress API来实现其功能。

结束

相关推荐

对WooCommerce的Functions.php更改不起作用

我正在尝试将其添加到函数中。php。在我的另一个站点上的测试实验室中,它可以很好地添加测试信息。但在这个网站上,我试图把它添加到什么都没有发生的情况下。该网站正在使用最新的woocommerce运行一个建筑节俭主题。有什么想法吗?我基本上只是想在每个产品页面上添加一行类似于免责声明但无法添加的文本。add_action(\'woocommerce_before_add_to_cart_form\',\'print_something_below_short_description\');