Замена части заголовка через functions.php - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь настроить части header.php в платформе Wordpress Genesis с помощью кода в functions.php следующим образом:

if ( class_exists( 'page-template' ) ) {
    remove_action( 'genesis_header', 'genesis_do_header' );
    add_action( 'genesis_header', 'gd_genesis_do_header' );

    function gd_genesis_do_header() {
        echo 'test';
    }
}

Цель состоит в том, чтобы модификация отображалась на страницах сопределенный класс тела 'page-template'.

Функция работает без оператора if, но не с ним.Что здесь может быть не так?

Или, возможно, можно выполнить действие на основе страницы?

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Вместо проверки класса page-template в теле, просто проверьте, используется ли на странице шаблон страницы, например:

if ( is_page_template() ) {
    remove_action( 'genesis_header', 'genesis_do_header' );
    add_action( 'genesis_header', 'gd_genesis_do_header' );

    function gd_genesis_do_header() {
        echo 'test';
    }
}

Вот дополнительная информация о WordPress 'is_page_template() функция .Вы даже можете использовать эту функцию, чтобы проверить, используется ли шаблон страницы * .Например, is_page_template( 'about.php' ) вернет true, если используется шаблон about.php.

0 голосов
/ 11 мая 2019

Чтобы проверить классы тела, используйте get_body_class NOT class_exists, который проверяет класс PHP, используемый в ООП.

if ( in_array( 'page-template', get_body_class() ) ) {
...