Dynamic URL Rewrite rule

时间:2018-01-04 作者:Top-Bot

我需要创建一个重写规则,该规则仅在页内变量存在时运行,下面是我要完成的一些伪代码。

if ($var != null) {
// do something
}

else {
url_rewrite(\'current_url\', \'new url\');
}
我遇到的问题是WordPress内置函数需要在init上激活,并且无论规则是否存在,都会重定向。

感谢您的帮助!

1 个回复
SO网友:Andrew

如果将If/else语句放在init 钩子,只有在$var 计算结果为false。例如

function 290127_init_validate(){

  if ( ! is_post_type_archive(\'book\') ) {
    return;
  }

  if ($var != null) {
   // do something
  } else {
    wp_redirect(\'new url\');
  }
}
add_action("init", "290127_init_validate");
WordPress提供了许多conditional tags 它可以用来对函数应该何时运行提供更精确的控制。您可以在函数的开头使用这些条件标记return 如果他们的评估结果不正确,那就早点。上述示例函数将仅在“book”自定义帖子类型存档页上运行。

结束

相关推荐