template\\u include您在这里的第一个选项是更改页面中使用的模板,以便在调用该模板后可以执行任何您想要的操作。
下面的示例检查页面是否称为“公文包”,但显然您可以插入自己的检查,然后找到一个名为“我的模板页面”的模板。php’。如果该模板不存在,则只显示原始模板。
add_filter( \'template_include\', \'my_custom_page_template\', 99 );
function my_custom_page_template( $template ) {
if ( is_page( \'portfolio\' ) ) {
$new_template = locate_template( array( \'my-template-page.php\' ) );
if ( \'\' != $new_template ) {
return $new_template ;
}
}
return $template;
}
您还可以将用户重定向到另一个页面,再次允许您做任何想做的事情,但这次您还可以更改URL。就我个人而言,我只是在强迫人们在查看页面之前登录时才使用这个钩子,并建议
templage_include
, 但如果你有自己的理由,那就很公平了。
结合此代码,您需要一个模板page-my-template-example.php
以及一个名为“我的模板示例”的页面。
add_action( \'template_redirect\', \'my_redirect_to_template_page\' );
function my_redirect_to_template_page(){
if( is_page( \'goodies\' ) ) {
wp_redirect( home_url( \'/my-template-page/\' ) );
exit();
}
}