根据页面模板在Genesis中调用自定义页脚

时间:2018-12-12 19:42:03

标签: php wordpress genesis

我正在使用Genesis框架,并且在加载某些页面模板时需要加载自定义页脚,但是在将页面模板文件名传递到函数中时遇到问题。因为模板可用于多个页面,所以我不能使用此插件,因此我确实需要使用模板文件名。我相信到目前为止我已经走了正确的道路,但是我不太了解我正在阅读的有关get_query_var的内容以及它如何将值传递到函数中。 到目前为止,我的代码如下:

remove_action( 'genesis_footer', 'genesis_do_footer' );

if (is_page_template( 'page-alternate.php' )) {
    add_action( 'genesis_footer', 'do_alternate_footer' );
} else {
    add_action( 'genesis_footer', 'do_main_footer' );
}

function do_alternate_footer() {
    echo 'xxx';
}
function do_main_footer() {
    echo 'yyy';
}

任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

“页面模板”功能实际上是在寻找模板页面名称而不是文件,因此在此示例中,如果页面模板名称是“备用”,则您将拥有:

remove_action( 'genesis_footer', 'genesis_do_footer' );
$CurrPageTemplate = get_page_template_slug( get_queried_object_id() );

if ($CurrPageTemplate == 'page-alternate.php' ) {
    add_action( 'genesis_footer', 'do_alternate_footer' );
} else {
    add_action( 'genesis_footer', 'do_main_footer' );
}

function do_alternate_footer() {
    echo 'xxx';
}
function do_main_footer() {
    echo 'yyy';
}

看看你怎么做。