如果要根据管理选项更改显示,则根本不需要处理shortcode_atts
配置总成$attributes
传递到回调中的。传入的属性(并由shortcode_atts
) 旨在根据最终用户的使用方式改变短代码的工作方式。
拿着这个:[wpse75238 arg1="asdf" arg2="asdf"]
<?php
add_shortcode(\'wpse75238\', \'wpse75238_shortcode_cb\');
function wpse75238_shortcode_cb($atts)
{
return var_export($atts);
}
类似于
array ( \'arg1\' => \'asdf\', \'arg2\' => \'asdf\' )
会出来的。
shortcode_atts
只需以类似的方式为您设置默认值(并删除“未经授权”的密钥)wp_parse_args
.
如果您只想根据管理页面选项更改内容,则无需尊重用户输入。
<?php
add_shortcode(\'wpse75238\', \'wpse75238_shortcode_cb\');
function wpse75238_shortcode_cb()
{
if(\'some_value\' = get_option(\'wpse75238_opts\'))
{
// do stuff because some_value was set.
}
}
使用参数调用短代码不会改变上述短代码的任何内容。