Confuso sobre Tipos de postagem personalizados

Sou um pouco novo para tipos de publicações personalizadas, e talvez não seja a solução certa para o que estou tentando realizar.

O que estou tentando realizar:

  1. Usuário “Adicionar nova propriedade”. Isso terá opção para adicionar imagem e 15 campos de informações personalizadas.
  2. Todas as propriedades que são adicionadas são exibidas em uma determinada página.

Tentei usar campos personalizados avançados e funciona muito bem para uma página, mas não é repetível.

Eu usei tipos de postagem personalizados para adicionar Propriedade à área de administração à esquerda, mas não tenho certeza de como adicioná-lo a uma página.

Aqui está o que eu tenho até agora:

function create_post_type() { register_post_type( 'my_properties', array( 'labels' => array( 'name' => __( 'Commercial Properties' ), 'singular_name' => __( 'My Property' ) ), 'public' => true, 'menu_position' => 5, 'rewrite' => array('slug' => 'properties') ) ); } add_action( 'init', 'create_post_type' ); function property_taxonomy() { register_taxonomy( 'properties', 'my_properties', array( 'hierarchical' => true, 'label' => 'Category', 'query_var' => true, 'rewrite' => array('slug' => 'MyProperties') ) ); } add_action( 'init', 'property_taxonomy' ); 

Tenho os campos personalizados mostrados nos tipos de postagem personalizados, mas não tenho certeza de como exibi-los todos em uma página?

Solutions Collecting From Web of "Confuso sobre Tipos de postagem personalizados"

O que você descreve é ​​o caso de uso típico para um tipo de postagem personalizado. Quando você registra seu tipo de publicação , defina o argumento has_archive como true e o WordPress irá gerar uma página de arquivo de postagem personalizada, que será a lista de todas as postagens da propriedade.

Normalmente, o número de postagens de propriedades exibidas usará sua configuração de administrador para as Blog pages show at most , localizadas em Settings > Reading , mas você pode replace isso para exibir tudo, independentemente do número, através da ação pre_get_posts :

 function property_posts_per_page( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_post_type_archive( 'property' ) ) { $query->set( 'posts_per_page', -1 ); } } add_action( 'pre_get_posts', 'property_posts_per_page' ); 

Se você tiver um tipo de conteúdo que tenha um conjunto distinto de campos – propriedades neste caso – você está olhando para tipos de conteúdo personalizados. O ACF, embora útil para adicionar campos a tipos de conteúdo existentes, não define os próprios tipos personalizados.

Para criar tipos personalizados, acho útil começar com um plugin; minha preferência é Pods . Uma vez ativado, isso facilita a criação de tipos personalizados e a definição dos campos aplicáveis ​​aos referidos tipos. Por sua vez, você poderá criar novas instâncias de propriedade, todas com o mesmo conjunto de campos conforme definido por você, mas cada uma delas possui seus próprios dados.

Essa é a definição do tipo e processo de criação, no entanto. Há alguma codificação envolvida para exibir seus campos de tipo de conteúdo no front-end. Dito isto, o parágrafo acima começará.