Крючки WordPress работают на панели инструментов, но не на реальном сайте - PullRequest
0 голосов
/ 18 июня 2019

Просто для целей тестирования, я делаю простое 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 голосов
/ 18 июня 2019

Поскольку у вас есть предложение использовать pre_get_post, я даю вам фрагмент кода, который поможет вам в достижении вашей цели. Вам нужно изменить значение, переданное для условий.

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;
    }
}
0 голосов
/ 19 июня 2019

Привет всем и спасибо за помощьего существование.Поэтому изменения вступили в силу не сразу

0 голосов
/ 18 июня 2019

Я проверил ваш код во всех браузерах, и вывод - ожидаемый результат.Хотя я бы предложил изменить ваш код следующим образом:

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


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

Не могли бы вы вставить здесь скриншот экрана консоли, когда вы просматриваете сайт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...