WordPress挂钩可在仪表板上工作,但不能在实际网站上工作

时间:2019-06-18 09:34:26

标签: wordpress

仅出于测试目的,我正在执行简单的do_action:

add_action( 'my_action', 'woocommerce_show_product' );
do_action( 'my_action');


function woocommerce_show_product() {
    ?>
<script>console.log('TESTING')</script>
<?php
};

我将此添加到我的functions.php中。

问题是:日志在仪表板中工作,但不在实际网站上工作。我希望情况会相反。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

我已经在所有浏览器上测试过您的代码,并且输出是预期结果。 虽然,我建议按如下所示更改您的代码:

add_action( 'my_action', 'woocommerce_show_product' );
do_action( 'my_action');


function woocommerce_show_product() {
    ?>
<script>console.log('TESTING');</script>
<?php
}

浏览网站时,您可以在此处粘贴控制台屏幕的屏幕截图吗?

答案 1 :(得分:0)

由于您有使用pre_get_post的建议,我为您提供了一个片段,它将指导您实现目标。您需要更改为term传递的值。

add_action( 'pre_get_posts', 'custom_pre_get_posts_query' );

function custom_pre_get_posts_query( $q ) {

    if ( ! $q->is_main_query() ) return;
    if ( ! $q->is_post_type_archive() ) return;

    if ( ! is_admin() && is_shop() ) {

        $q->set( 'post__in', array( 99, 96, 93, 90, 87,83 ) );
        $q->set( 'cat', 'shoes' );

        return;
    }
}

答案 2 :(得分:0)

大家好,感谢您的帮助。

最后,该解决方案不是很直观,我有一个wordpress插件,该插件会自动使用缓存来加快网站速度,但我并不知道它的存在。这就是为什么更改无法立即应用

的原因