我假设商户名称是另一个元字段,而不是该帖子类型的标题?如果是这样的话,这里有一种方法可以组织您的管理编辑。php区域
// Add a column in admin edit.php to display the Merchant post type data you want shown
add_filter(\'manage_merchant_posts_columns\', \'admin_merchant_columns\');
function admin_merchant_columns( $posts_columns ) {
$posts_columns = array(
\'cb\' => \'<input type="checkbox" />\', // the checkbox to select the line item
\'title\' => __( \'Name\' ), // post title
\'merchant_name\' => __( \'Merchant Name\' ), // where merchant_name is your meta key for that field
\'_merchant_id\' => __( \'Merchant ID\' ) // merchant id meta key
);
return $posts_columns;
}
// Fill the column with the appropriate items
add_action( \'manage_merchant_posts_custom_column\', \'manage_merchant_columns\', 10, 2 );
function manage_merchant_columns( $column, $post_id ) {
global $post;
switch( $column ) {
case \'merchant_name\' :
$merchant_name = get_post_meta( $post_id, \'merchant_name\');
if ( empty( $merchant_name ) )
echo ( \'\' );
else
print join( $merchant_name, \', \' );
break;
case \'_merchant_id\' :
$_merchant_id = get_post_meta( $post_id, \'_merchant_id\');
if ( empty( $_merchant_id ) )
echo ( \'\' );
else
print join( $_merchant_id, \', \' );
break;
default :
break;
}
}
// add ability to sort by merchant name
add_filter( \'manage_edit-merchant_sortable_columns\', \'sort_by_merchant_name\' );
function sort_by_merchant_name( $columns ) {
$columns[\'merchant_name\'] = \'merchant_name\';
return $columns;
}
add_action( \'load-edit.php\', \'sort_by_merchant_name_load\' );
function sort_by_merchant_name_load() {
add_filter( \'request\', \'sort_merchant\' ); // where "merchant" is your custom post type slug
}
function sort_merchants( $vars ) {
if ( isset( $vars[\'post_type\'] ) && \'merchant\' == $vars[\'post_type\'] ) { // where "merchant" is your custom post type slug
if ( isset( $vars[\'orderby\'] ) && \'merchant_name\' == $vars[\'orderby\'] ) {
$vars = array_merge(
$vars,
array(
\'meta_key\' => \'merchant_name\',
\'orderby\' => \'meta_value\'
)
);
}
}
return $vars;
}