因此,我之前测试了一个特定的重定向,我知道该页面存在。
function nepal_template_redirect() {
if ( is_category( \'nepal\' ) ) {
$url = site_url( \'/nepal\' );
wp_safe_redirect( $url, 301 );
exit();
} } add_action( \'template_redirect\', \'nepal_template_redirect\' );
然而,我真正想做的是包含一个通用函数,该函数重定向存在同名页面名称的任何类别。所以我按照这些思路思考。
function pagefromcat_template_redirect()
{
$category_id = get_cat_ID( \'Category Name\' );
if (page_exists($category_id))
{
$url = site_url( \'/\' . $category_id);
wp_safe_redirect( $url, 301 );
}
}
add_action( \'template_redirect\', \'pagefromcat_template_redirect\' );
但是,似乎没有任何类似page\\u exists()的抄本项目
那么我该如何编写函数来实现这一点呢?或者,是否有一个我已经错过的现有的。谢谢
最合适的回答,由SO网友:Andrew Seabrook 整理而成
看来我现在有了。很大程度上是因为@迈克尔-它当然要求类别与页面标题完全相同,但这正是我想要的。
函数pagefromcat\\u template\\u redirect(){如果(!is\\u category()){返回;}
$category = get_queried_object();
// $page = get_page_by_path( $category->slug ); -- doesnt work
// $page = get_page_by_path( \'destinations/\' . $category->slug); works but with deeper nested locations this will cause a problem, and we will have to have multiple prefixed locations
// atcivities immediately for instance.
$page = get_page_by_title($category->name);
if ( $page instanceof WP_Post )
{
$url = get_permalink( $page );
wp_safe_redirect( $url, 301 );
}
}