WordPress硬编码URL结构

时间:2014-03-22 17:09:57

标签: wordpress wordpress-plugin

好的,所以我正在创建一个需要常量URL结构的WordPress插件。例如,插件有一个常规的cron运行和一个Web钩子,所以我想要以下的URL

examplesite.com/plugin/webhook/ examplesite.com/plugin/cronjob /

有什么方法可以将其编码到模板中,以便这些链接在多次安装中始终相同?

谢谢, 克里斯

1 个答案:

答案 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' );

我希望这可以帮助一些人!