カスタム分類法 - shop_departmentsを追加しました。これは階層的です。それから、私はこの新しい分類法にメタフィールドを追加しました - term_meta [front_page] - これはすべてうまくいきました。
ただし、分類法の管理画面では、このメタデータの列を表示して、ユーザーがどの部署がフロントページに割り当てられているかが一目でわかるようにします。
このページに列を追加する方法がわかりません。私は何かをしたいのですが。
// Register the column
function front_page_column_register( $columns ) {
$columns['front-page'] = __( 'Front Page', 'my-plugin' );
return $columns;
}
add_filter( 'manage_edit-shopp_department_columns', 'front_page_column_register' );
分類法ページ自体ではなく、投稿やカスタム投稿タイプの編集ページに追加する方法について、私が見つけたすべての記事で説明しています。
私はそれをうまくやった。フィルタは 'admin_init'アクションにラップされている場合にのみ機能するようです。私のテーマのfunctions.phpのカスタム分類法 'shopp_department'にカスタム分類法メタ 'front_page'の管理カラムを追加する最後のコード
// Register the column
function department_add_dynamic_hooks() {
$taxonomy = 'shopp_department';
add_filter( 'manage_' . $taxonomy . '_custom_column', 'department_taxonomy_rows',15, 3 );
add_filter( 'manage_edit-' . $taxonomy . '_columns', 'department_taxonomy_columns' );
}
add_action( 'admin_init', 'department_add_dynamic_hooks' );
function department_taxonomy_columns( $original_columns ) {
$new_columns = $original_columns;
array_splice( $new_columns, 1 );
$new_columns['frontpage'] = esc_html__( 'Front Page', 'taxonomy-images' );
return array_merge( $new_columns, $original_columns );
}
function department_taxonomy_rows( $row, $column_name, $term_id ) {
$t_id = $term_id;
$meta = get_option( "taxonomy_$t_id" );
if ( 'frontpage' === $column_name ) {
if ($meta == true) {
return $row . 'Yes';
} else {
return $row . 'No';
}
}
これが誰かに役立つことを願っています。