Tipo de mensagem personalizada - campo de pedido

11

Em um tipo de postagem personalizada, há uma maneira de incluir o campo "pedido" disponível para páginas?

Existe alguma lógica incorporada que impeça valores duplicados no campo "pedido"?

A ideia é poder classificar um tipo de postagem personalizado por um pedido especificado pelo usuário e, em seguida, alfabeticamente, por um campo personalizado baseado em string.

    
por Force Flow 18.09.2012 / 15:50

2 respostas

22

Ao declarar seu tipo de postagem personalizado usando a função register_post_type, você precisa adicionar 'page-attributes' ao campo de suporte, como no exemplo a seguir:

register_post_type('myposttype', array(
    'supports' => array('title', 'editor', 'page-attributes'),
    'hierarchical' => false
));

Você precisará adicionar outras caixas meta compatíveis ao campo "support", consulte enlace . mais informações sobre os campos register_post_type.

Além disso, até onde eu sei, não há nenhuma maneira de impedir duas da mesma ordem, isso porque você pode criar sub-pedidos com base na hierarquia (portanto, um grupo de páginas filhas pode ter uma ordem diferente outro)

    
por Dave Hunt 18.09.2012 / 15:58
3

Além da resposta do @ Dave-Hunt, você também pode adicionar um filtro, como o seguinte, para definir uma ordem personalizada - nesse caso, alfabética por título. (Código graças à postagem do blog de Mark Leong. ) Remover o is_admin() check, se você quiser o order_by personalizado no front-end também.

function set_custom_post_types_admin_order($wp_query) {
  if (is_admin()) {

    // Get the post type from the query
    $post_type = $wp_query->query['post_type'];

    if ( $post_type == 'POST_TYPE') {

      // 'orderby' value can be any column name
      $wp_query->set('orderby', 'title');

      // 'order' value can be ASC or DESC
      $wp_query->set('order', 'ASC');
    }
  }
}
add_action('pre_get_posts', 'set_custom_post_types_admin_order');

Atualizar

Para validação de pré-salvamento, veja esta resposta: enlace onde suas opções são discutidas. Basicamente, tudo se resume ao jQuery personalizado, pois o WordPress não possui ganchos de pré-salvamento.

Além disso (duplicando meu comentário anterior aqui para referência futura), aqui está como expor o campo 'ordem de menu' no admin, para que seja editável pelo usuário, como é para páginas: Adicionar a coluna 'ordem de menu' ao ecrã de administração de tipo de mensagem personalizada

    
por marfarma 18.09.2012 / 16:04