如何在固定链接设置页面存储您的选项?

时间:2011-09-21 作者:Mark

我遵循设置API页面并使用该示例获得以下代码:http://pastebin.com/CUA7nLCR

当我改变时$settingsPagegeneral, reading, writing, 等等。这一切都完美无瑕,但当我将其更改为permalink 它确实会显示,但不会存储值。有人知道为什么吗?

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

我遇到了同样的问题,我有一个解决办法。希望它能在即将发布的3.3版本中修复为this trac ticket suggests.

该解决方案基本上复制了wp管理/选项的重要部分。处理通过设置API注册的设置的php文件。

其他永久链接设置当前未更新的原因是选项永久链接。php页面回发到自身,而不是选项。php,因此不会处理注册的设置。

放置在主题或插件中的以下代码将使工作正常:

// add a very low priority action to make sure any extra settings have been added to the global
add_action( \'admin_init\', \'enable_permalink_settings\', 999999 );
function enable_permalink_settings() {
    global $new_whitelist_options;

    // save hook for permalinks page
    if ( isset( $_POST[\'permalink_structure\'] ) || isset( $_POST[\'category_base\'] ) ) {
        check_admin_referer(\'update-permalink\');

        $option_page = \'permalink\';

        $capability = \'manage_options\';
        $capability = apply_filters( "option_page_capability_{$option_page}", $capability );

        if ( !current_user_can( $capability ) )
            wp_die(__(\'Cheatin’ uh?\'));

        // get extra permalink options
        $options = $new_whitelist_options[ $option_page ];

        if ( $options ) {
            foreach ( $options as $option ) {
                $option = trim($option);
                $value = null;
                if ( isset($_POST[$option]) )
                    $value = $_POST[$option];
                if ( !is_array($value) )
                    $value = trim($value);
                $value = stripslashes_deep($value);
                update_option($option, $value);
            }
        }

        /**
         *  Handle settings errors
         */
        set_transient(\'settings_errors\', get_settings_errors(), 30);
    }
}

结束

相关推荐

帮助运行MySQL查询以更新多站点安装中的所有wp_#_options表

我想通过我的WordPress数据库运行一个查询,更新所有单个站点上的blog\\u公共值。我一直在思考如何让语句查找wp\\U 2\\U选项、wp\\U 3\\U选项等。我可以单独做这样的事情:UPDATE wp_10_options SET option_value = REPLACE(option_value, \'1\', \'0\') 但我一直在思考如何运行一个可以遍历所有表的查询。有什么帮助吗?提前感谢:)