嗯,是的。我不知道你的问题到底是什么,所以请注意下面的代码。
You should use the settings API. Here\'s a (new) tutorial by Chip Bennet. 按照您调用当前设置选项的方式(每个子数组调用一个get\\u选项),您只有大约11个db调用用于您的选项。如果您不考虑切换到设置API,那么无论如何只应调用一次get\\u选项,将其保存到如下变量中$current_options = get_options(\'whatever\');
然后用$current_options[\'some_sub_arr\'];
.
我尽量不苛刻,所以请不要误会:文件(对我来说)几乎无法读取。这么多不必要的制表符和换行符。我希望我能帮忙,但我真的不能帮你解决你的具体问题。
也许有帮助:有一个lot 关于这个主题我可以说的其他东西。我希望你能接受一些(积极的)批评(这有助于改进)。
只要不想在字符串中使用$var,就不必使用双引号示例:
array( "key" => "value" )
可以写为array( \'key\' => \'value\' )
而且将会是much 更快(最多快5倍)如果使用数字索引数组,则不必编写array( \'0\' => \'value\' )
如果不指定键,则默认为数字数组
Never 永远不要使用变量名称,例如$options
在课堂外时。这些名称将填充全局名称空间,有时(肯定)会与其他一些内容发生冲突,以便集中处理名称(而不是分布在所有文件中,如$options
): $wpfolio_options_default = array ( \'...\' => \'...\' );
define ( \'WPFOLIO_OPTS\', \'wpfolio_options_theme\' );
// your global $var for theme users - do this only when you\'re really sure that nothing will change in there. Ever.
$wpfolio_options = get_option( WPFOLIO_OPTS );
function template_tag_whatever()
{
// If you\'re in the need to change the name of the options field in the DB, change it above in the define call
$all_options = get_option( WPFOLIO_OPTS );
// if you\'ve made your options globaly available (if the behavior might change - themes may break, so do this with caution)
// global $wpfolio_options
// $background = $wpfolio_options[\'background_class\'];
$background = $all_options[\'background_class\'];
?>
<div class="<?php echo $background; ?>">
<!-- some stuff -->
</div>
<?php
}
// inside a template:
global $wpfolio_options;
if ( isset($wpfolio_options[\'portfolio_category\']) )
{
echo $wpfolio_options[\'portfolio_category\'];
}
但是:处理设置API仍然更好,也更容易。上面提到的示例只是为了向您展示通过常量处理名称是多么容易(请参见STYLESHEETPATH等)。