Как заказать по почте мета имя в wp admin?

Я пытаюсь заказать по почте мета имя, которое я добавил для публикации. Сообщение meta есть «_merchant_id», я знаю, как сортировать merchan_id, но я не знаю, как сортировать по имени продавца.

Я сортирую по идентификатору продавца следующим образом:

public function column_orderby( $vars ) {
        if ( isset( $vars['orderby'] ) && is_admin() ) {
            switch ( $vars['orderby'] ) {
case 'merchant':
 $vars = array_merge( $vars, array(
     'meta_key' => '_merchant_id',
     'orderby' => 'meta_value_num'
 ) );

break;
...

Торговец - это другой тип сообщения («купец»). Как я могу сортировать по имени продавца?

ОБНОВЛЕНИЕ (улучшенное пояснение по снимку экрана):

введите описание изображения здесь>> </p></body></html>

8 голосов | спросил iWizard 13 ThuEurope/Moscow2012-12-13T19:40:21+04:00Europe/Moscow12bEurope/MoscowThu, 13 Dec 2012 19:40:21 +0400 2012, 19:40:21

1 ответ


2

Значения метаданных и имена не используются в области администрирования по умолчанию.

Но вы можете enahnce запрос использовать его в цикле, запрос, как пример в вашем вопросе. Чтобы добавить мета значения, используйте следующий небольшой фрагмент в плагине.

add_filter( 'query_vars', 'fb_query_vars_admin' );
/**
 * If needed: Allow meta queries in the admin
 */
function fb_query_vars_admin( $query_vars ) {

    // break off, if not in admin area
    if ( ! is_admin() )
        return $query_vars;

    $query_vars[] = 'meta_key'; // my key of custom field
    $query_vars[] = 'meta_value'; // my value of custom field

    return $query_vars;
}

Другой альтернативой является обращение к запросу и непосредственное изменение запроса.

add_filter( 'parse_query', 'fb_custom_post_sort' );
function fb_custom_post_sort($query) {

    if ( ! is_admin() )
        return $query;

    global $current_screen;
    if ( isset( $current_screen ) && 'post' === $current_screen->post_type ) {
        $query->query_vars['orderby']  = 'meta_value';
        $query->query_vars['meta_key'] = '_merchant_id';
        $query->query_vars['order']    = 'ASC';
    }
}
ответил bueltge 19 WedEurope/Moscow2012-12-19T16:49:54+04:00Europe/Moscow12bEurope/MoscowWed, 19 Dec 2012 16:49:54 +0400 2012, 16:49:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132