设置菜单中的自定义主题字段-是否将筛选器应用于其中一个字段?

时间:2013-03-07 作者:mathiregister

我发现了一个有趣的概念,即在Wordpress的“常规选项”中添加一个附加选项。

/**
 * Custom Theme Settings
 * see http://digwp.com/2009/09/global-custom-fields-take-two/
 */

add_action(\'admin_menu\', \'add_gcf_interface\');

function add_gcf_interface() {
    add_options_page(\'Other\', \'Other\', \'8\', \'functions\', \'otherGlobalOptions\');
}

function otherGlobalOptions() {
    ?>
    <div class=\'wrap\'>
    <h2>Sonstiges</h2>
    <form method="post" action="options.php">
        <?php wp_nonce_field(\'update-options\') ?>
        <p><strong>Welcome Message</strong><br />
        <textarea name="welcomemessage" cols="100%" rows="7"><?php echo get_option(\'welcomemessage\'); ?></textarea></p>
        <p><input type="submit" name="Submit" value="Save" /></p>
        <input type="hidden" name="action" value="update" />
        <input type="hidden" name="page_options" value="welcomemessage" />
    </form>
    </div>
    <?php
}

This works just fine.

我现在想知道是否有机会对输入应用过滤器?

就像我能做的一样add_filter(\'the_content\', \'wr_replace_text\', 100); 我想做

add_filter(\'welcomemessage\', \'wr_replace_text\', 100);
这是否有可能,因为这在目前对我不起作用。

你好Matt

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

可以使用创建自定义筛选器filter functions 插件API的。为了创建和使用自定义过滤器,我对您的代码进行了如下更改。

function add_gcf_interface() {
add_options_page(\'Other\', \'Other\', \'8\', \'functions\', \'otherGlobalOptions\');
}

function otherGlobalOptions() {
?>
<div class=\'wrap\'>
<h2>Sonstiges</h2>
<form method="post" action="options.php">
    <?php wp_nonce_field(\'update-options\') ?>
    <p><strong>Welcome Message</strong><br />
    <textarea name="welcomemessage" cols="100%" rows="7"><?php echo apply_filters(\'welcomemessage\',get_option(\'welcomemessage\')); ?></textarea></p>
    <p><input type="submit" name="Submit" value="Save" /></p>
    <input type="hidden" name="action" value="update" />
    <input type="hidden" name="page_options" value="welcomemessage" />
</form>
</div>
<?php
}
// Create custom filter
function add_welcomemessage($welcomemessage) {   
return $welcomemessage;
}
add_filter(\'welcomemessage\', \'add_welcomemessage\');
告诉我这是否对你有效,否则我将提供另一种解决方案。

结束

相关推荐

自动加载和OPTIONS表的性能

我在玩弄autoload 的列options 桌子我没有找到多少关于如何使用自动加载值的信息。我试过print_r($GLOBALS) 看到自动加载的选项存储在$GLOBALS[\'wp_object_cache\']->cache[\'options\'][\'alloptions\'].是否有其他方法访问这些变量?假设我需要访问一个选项my_option, 设置为自动加载,在不同模板中多次(例如header.php, 一旦进入footer.php), 建议使用哪种方法?我可以从$GLOBALS