Wordpress插件:如何添加自定义URL句柄

Key*_*upt 10 wordpress wordpress-plugin

我正在尝试编写一个Wordpress插件,但似乎无法弄清楚如何修改URL的处理方式,例如:任何请求:

<url>/?myplugin=<pageID>

将由我的插件中的函数处理.我确信这是一个非常简单的事情,但我很擅长使用Wordpress而无法在文档中找到它.

nic*_*hrn 9

add_action('parse_request', 'my_custom_url_handler');
function my_custom_url_handler() {
  if( isset($_GET['myplugin']) ) {
    // do something
    exit();
  }
}
Run Code Online (Sandbox Code Playgroud)

这应该让你朝着正确的方向前进.parse_request在WordPress运行用于获取当前URL的帖子的任何复杂WordPress查询之前发生.


zar*_*zan 9

为了只处理特定的URL,请使用以下代码:

add_action('parse_request', 'my_custom_url_handler');

function my_custom_url_handler() {
   if(isset($_GET['myplugin']) && $_SERVER["REQUEST_URI"] == '/custom_url') {
      echo "<h1>TEST</h1>";
      exit();
   }
}
Run Code Online (Sandbox Code Playgroud)