通过函数替换部分标头.php



我正在尝试通过函数中的代码自定义Wordpress Genesis框架中的部分标题.php.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';
}
}

目标是让修改显示在具有特定正文类"页面模板"的页面上。

该函数在没有"if"语句的情况下工作,但不能使用它。这里可能出了什么问题?

或者也许可以基于页面执行操作?

无需检查正文上的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';
}
}

以下是有关WordPressis_page_template()功能的更多信息。您甚至可以使用该函数来检查是否正在使用特定的页面模板。例如,如果使用about.php模板,is_page_template( 'about.php' )将返回true

要检查正文类,请使用 get_body_class NOT class_exists 来检查 OOP 中使用的 PHP 类。

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

最新更新