Como alterar a posição padrão das caixas meta do WP?

16

Estou imaginando se existe uma maneira de alterar a posição padrão das caixas meta do Wordpress, como "imagem em destaque", para tipos de postagem personalizados, sem precisar arrastá-los manualmente?

Exemplo:

    
por Mr.Brown 07.11.2011 / 05:57

3 respostas

20

Você pode remover as caixas meta padrão com remove_meta_box e adicioná-las novamente em uma posição diferente com add_meta_box:

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

Isto irá removê-lo da coluna lateral e adicioná-lo à coluna principal. altere post neste exemplo para qualquer nome de postagem personalizado.

    
por Milo 07.11.2011 / 07:12
5

Eu também lutei com isso. Eu realmente não encontrei uma maneira limpa de redefinir o layout / pedido - particularmente porque ele pode ser alterado pelos usuários quando eles arrastam as caixas.

Eu gosto de fazer coisas 'com' wordpress (geralmente compensa), rathe do que colidir com ele e a maneira como o wordpress faz isso da seguinte forma:

o wordpress armazena as posições arrastadas por usuário por tela e há um monte de chaves user-meta que ele usa dependendo de qual página / tela ele está.

Assim, você pode adicionar uma ação ou um filtro a cada novo usuário para definir a configuração do usuário da maneira que você deseja que o padrão seja.
1) Arraste e organize a página que você deseja afetar. 2) olhe no phpmyadmin na sua user-meta para o seu id e veja o que o wp armazenou lá. 3) então codifique a nova ação do usuário da seguinte forma  se um usuário NÃO tiver essa configuração já definida (para evitar a substituição de uma escolha pessoal), você poderá defini-lo da maneira que desejar - com o valor encontrado manualmente ao defini-lo.

Para ter uma ideia das metakeys meta-usuário que você está procurando, veja estas capturas de tela: enlace

(acabei escrevendo um plugin genérico para que eu pudesse, como administrador, definir meu layout preferido para todos os usuários para todos os tipos de páginas / telas. Então eles poderiam alterar isso, por exemplo, conforme eles se tornassem mais proficientes. Quando o wp altera as coisas como o plugin me busca os valores do usuário do modelo, ele nem mesmo tenta definir o valor como um valor codificado.

    
por anmari 07.11.2011 / 07:00
0

Se você quiser encomendar precisamente suas caixas meta, você pode usar este plugin: enlace

Ele toca na meta-box-order_post da opção do usuário (tabela wp_usermeta).

Nota 1: esta técnica pode ser aplicada a qualquer CPT personalizado, alterando o final do sinalizador: meta-box-order_ [YOUR_CPT]

Nota 2: não se esqueça de alterar o hash no código do plug-in para aplicar o novo pedido a todos os usuários existentes.

    
por rebe100x 27.09.2016 / 13:28