Wordpress 插件 URL 重写

Posted

技术标签:

【中文标题】Wordpress 插件 URL 重写【英文标题】:Wordpress plugin URL rewrite 【发布时间】:2018-06-16 22:26:56 【问题描述】:

我有一个 wordpress 插件,可以让我将事件添加到我的网站。

但是 url 结构是例如

domain.com/events/cat/event-name

我正在研究插件,但是我无法找到插件对该请求的反应方式。

我的问题来了:

通过特定的 url 结构调用插件有哪些不同的方式(如上例,所有包含“/events/cat”的 url 都属于该插件)?

我正在查看我的 .htaccess 文件,但它没有改变,我也在查看插件是否使用了

add_action('parse_request', 'handler_action');

但我找不到任何东西。插件还有其他方法可以使用吗?

非常感谢!

【问题讨论】:

您可能会在网站上获得更多关于 WordPress 开发问题的帮助:wordpress.stackexchange.com 【参考方案1】:

它可能使用register_post_type 函数的自定义帖子类型, 这将构建一个新的 URL 重写规则

另一种可能的方法是使用add_rewrite_rule

类似

add_action('init', 'your_plugin_rules');
function your_plugin_rules() 
    add_rewrite_rule( "events/cat/(.+)/?$", 'index.php?events=$matches[1]', "top");

如果你检查并打印$wp_rewrite的值,你可以看到所有的重写规则

例如

add_action('wp_head', function() 
    global $wp_rewrite;
    echo '</pre>', print_r( $wp_rewrite, 1 ), '</pre>';
);

【讨论】:

以上是关于Wordpress 插件 URL 重写的主要内容,如果未能解决你的问题,请参考以下文章

.htaccess 用 WordPress 插件重写

将 URL 重写规则添加到 Wordpress

移动 Wordpress 域

从我的 .csv URL 列表中删除 Wordpress Post

WooCommerce 属性的 WordPress URL 重写

导入WordPress将图像作为外部URL的特色图像发布