我正在开发一个特定于主题的插件来处理大部分主题的功能。我有一些设置页面,其中一些按主要类别创建选项。例如,一个设置页面,其中包含上传每个父类别的横幅图像的选项,以便在该类别的存档页面上使用。基本代码是这样的:
public static function option_fields() {
$prefix = 'otw_category_banner_';
$categories = get_categories( 'parent=0' );
// Only need to initiate the array once per page-load
if ( ! empty( self::$theme_options ) )
return self::$theme_options;
$fields = array();
foreach ( $categories as $category ) {
$fields[] = array(
'name' => __( $category->name, 'cmb' ),
'id' => $prefix . $category->term_id,
'type' => 'file',
'allow' => array( 'url', 'attachment' ) // limit to just attachments with array( 'attachment' )
);
}
self::$theme_options = array(
'id' => 'theme_options',
'show_on' => array( 'key' => 'options-page', 'value' => array( self::$key, ), ),
'show_names' => true,
'fields' => $fields,
);
return self::$theme_options;
}
此代码最初工作正常,但在创建初始选项后,例如,当添加新的父类别时,它似乎不会更新。我是新手开发者和第一次海报,所以任何帮助都会非常感激。