我向自定义分类法添加了多个字段。我跟着Pippin\'s tutorial.
此方法为每个分类项目创建一个选项。多个字段保存在taxonomy_id
.
我不确定仅仅创建一个选项并在选项中使用分类id的多向数组是否会更好。
这两种不同方法的性能和数据库含义是什么?
编辑:
通常只会为单个分类法提取信息。
下面是两个代码示例。
/**
* Save extra taxonomy fields callback function.
*
* Single Array
*/
public function save_taxonomy_custom_meta( $term_id, $tt_id ) {
if ( isset( $_POST[\'term_meta\'] ) ) {
$term_meta = get_option( \'playlist_\' . $term_id );
$cat_keys = array_keys( $_POST[\'term_meta\'] );
foreach ( $cat_keys as $key ) {
if ( isset ( $_POST[\'term_meta\'][$key] ) ) {
$term_meta[$key] = sanitize_text_field( $_POST[\'term_meta\'][$key] );
}
}
// Save the option array.
update_option(
\'playlist_\' . $term_id,
$term_meta
);
}
}
/**
* Save extra taxonomy fields callback function.
*
* Multi-directional array
*/
public function save_taxonomy_custom_meta( $term_id, $tt_id ) {
if ( isset( $_POST[\'term_meta\'] ) ) {
$term_meta = get_option( \'playlist_\' . $term_id );
$cat_keys = array_keys( $_POST[\'term_meta\'] );
foreach ( $cat_keys as $key ) {
if ( isset ( $_POST[\'term_meta\'][$key] ) ) {
$term_meta[$key] = sanitize_text_field( $_POST[\'term_meta\'][$key] );
}
}
//
$term_meta[$term_id] = $term_meta;
// Save the option array.
update_option(
\'plugin_name_playlist\',
$term_meta
);
}
}