好的,所以我正在创建一个需要常量URL结构的WordPress插件。例如,插件有一个常规的cron运行和一个Web钩子,所以我想要以下的URL
examplesite.com/plugin/webhook/ examplesite.com/plugin/cronjob /
有什么方法可以将其编码到模板中,以便这些链接在多次安装中始终相同?
谢谢, 克里斯
答案 0 :(得分:0)
好的,所以最终得到了一个解决方案,并认为我应该分享它以供将来参考。可以使用generate_rewrite_rules
action reference创建自定义重写规则。
为实现这一目标,我创建了引用方法
的操作 add_action('generate_rewrite_rules', 'plugin_generate_rewrite_rules')
插件方法是 -
function plugin_generate_rewrite_rules($wp_rewrite) {
// create plugin rewrite rules
$rewrite_rules = array (
'PLUGIN_NAME/cronjob/' => 'wp-content/plugins/PLUGIN_NAME/cronjob.php',
'PLUGIN_NAME/webhook/' => 'wp-content/plugins/PLUGIN_NAME/webhook.php',
);
// apply new rewrite rules
$wp_rewrite->non_wp_rules += $rewrite_rules;
}
这将起作用,除了需要刷新重写规则以应用这些更改。这可以通过在插件激活时添加WordPress register activation hook来创建。
function plugin_activate() {
// flush rewrite rules
global $wp_rewrite;
$wp_rewrite->flush();
}
register_activation_hook( __FILE__, 'plugin_activate' );
我希望这可以帮助一些人!