如何在我使用WordPress样板插件注册我的自定义POST类型后,在激活时运行flush_reWriteRules

时间:2020-11-03 作者:NeaMitika

我创建了一个插件来注册一个新的CPT,但它不起作用,因为我必须flush_rewrite_rules()(我可以通过进入永久链接设置页面并保存来实现这一点,但这不是正确的方式)

我已经阅读了wordpress抄本flush_rewrite_rules() 激活时,但不起作用,因为flush_rewrite_rules() 在我注册CPT之前运行,为了工作,它必须在。。。

我在用这个https://github.com/DevinVinson/WordPress-Plugin-Boilerplate

它有一个类,在激活我在这里添加的插件时运行flush_rewrite_rules()

Edit

例如,我使用的样板已经用激活/停用类进行了结构化

function activate_l_erbario() {
    require_once plugin_dir_path( __FILE__ ) . \'includes/class-l-erbario-activator.php\';
    L_Erbario_Activator::activate();

register_activation_hook( __FILE__, \'activate_l_erbario\' );
和class-l-erbario-activator内部。php我有

class L_Erbario_Activator {
    public static function activate() {

    }

}

GITHUB WITH THE PLUGIN

https://github.com/NeaMitika/CPT-Erbario-Wordpress

/管理员/class-l-erbario-admin。php->;我在这里注册CPT

/包括/l类erbario。php->;在这里,我用CPT添加add\\u操作

1 个回复
SO网友:NeaMitika

经过几天的不断尝试。。。我问了一位使用相同Wordpress插件样板进行开发的youtuber,他给我指了指这篇文章:

https://andrezrv.com/2014/08/12/efficiently-flush-rewrite-rules-plugin-activation/

它在\\u option表中添加了一个选项,并将根据该选项刷新重写规则:)它工作得很好