插件选项更新和类别基础更改后出现404个错误

时间:2011-02-20 作者:Scott B

每次通过清理回调对插件的设置文件进行“保存更改”后,我都会调用下面的函数。

该插件允许最终用户更改其类别库,并且需要完全重写永久链接以避免404错误。然而,我仍然得到404。解决这些问题的唯一方法是转到“设置>永久链接”管理器并单击“保存更改”。

为了摆脱404,我在这个函数中缺少了什么?

function myplugin_refresh() {
    wp_cache_flush();
    global $wp_rewrite;
    $my_permalinks = get_option(\'permalink_structure\');
    $wp_rewrite->set_permalink_structure($my_permalinks);
    $wp_rewrite->flush_rules();
    }

2 个回复
最合适的回答,由SO网友:wyrfel 整理而成

检查wp admin/options permalink中的代码。php第91至129行(3.0.5)。如果你做到了这一切,请进行比较。

SO网友:Roberto Lizana

wp\\u rewrite未在register\\u activation\\u hook()中初始化

在钩子激活码中添加此行。。。。

add_option(\'reset_permalink_structure\',true);
在插件代码中添加。。。。

add_action(\'admin_init\',function(){
        if( get_option(\'reset_permalink_structure\') ) {
            global $wp_rewrite;
            $my_permalinks = get_option(\'permalink_structure\');
            $wp_rewrite->set_permalink_structure($my_permalinks);
            $wp_rewrite->flush_rules();
            add_option(\'reset_permalink_structure\',false);
        }
    }

结束

相关推荐

curl problem or permalinks

我刚刚配置了我的VPS,我使用的是Centos,一切都很好,但如果我将永久链接设置为自定义结构,然后接受主页,没有帖子出现,它会显示404页,我想这是因为我没有启用curl,但我不知道我的php在哪里。我的centos中的ini文件?好的,我的卷曲被启用了,我检查过了phpinfo(); 这里是URLhttp://74.117.158.182/info.php但如果我在我的wordpress中设置了永久链接,那么接受主页,所有都会给我404页,你可以在这个URL上查看http://mbas.co.in如果