php - type - Recopilación de tipos de publicaciones personalizadas a través de etiquetas
post type default wordpress (3)
He configurado mi tipo de publicación personalizada llamada ''sectores'', usando el siguiente código:
register_post_type( ''sectors'',
array(
''labels'' => array(
''name'' => __( ''Sectors'' ),
''singular_name'' => __( ''sectors'' ),
),
''has_archive'' => true,
''hierarchical'' => true,
''menu_icon'' => ''dashicons-heart'',
''public'' => true,
''rewrite'' => array( ''slug'' => ''your-cpt'', ''with_front'' => false ),
''supports'' => array( ''title'', ''editor'', ''author'', ''thumbnail'', ''excerpt'', ''trackbacks'', ''custom-fields'', ''revisions'', ''page-attributes'' ),
''taxonomies'' => array( ''your-cpt-type'', ''post_tag'' ),
));
}
Esto me ha permitido agregar ''etiquetas'' a las páginas de tipo de publicación personalizadas.
Ahora, estoy tratando de mostrar las páginas de este tipo de publicación personalizada por ciertas etiquetas.
He logrado hacer esto con las publicaciones, utilizando el siguiente código:
<?php
$args = array(''tag_slug__and'' => array(''featuredpost1''));
$loop = new WP_Query( $args );
while ($loop->have_posts() ) : $loop->the_post();
?>
<h5 class="captext"><?php the_title(); ?></h5>
<hr>
<div style="float: left; padding-right:20px;">
<?php the_post_thumbnail( ''thumb'' ); ?>
</div>
<?php the_excerpt(); ?>
<a href="<?php echo get_permalink(); ?>"> Read More...</a>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
Esto obtendrá todos los mensajes que tienen la etiqueta ''Featuredpost1''.
¿Cómo es esto posible con tipos de correos personalizados?
EDITAR / ACTUALIZAR:
Esto funciona ahora, ¿hay alguna manera de que pueda usar esta funcionalidad en una página diferente? Por ejemplo, en mi página de inicio, obtenga las publicaciones a través de las etiquetas, así que, ¿se actualizará la página de inicio en esta página?
La solución de Cayce K funcionará perfectamente. Tengo una segunda forma de ofrecer:
Primero: agrega tu tipo de publicación personalizada a la consulta principal. Puede lograr esto agregando algunas líneas a su functions.php
.
<?php
add_action( ''pre_get_posts'', ''add_my_post_types_to_query'' );
function add_my_post_types_to_query( $query ) {
// Leave the query as it is in admin area
if( is_admin() ) {
return $query;
}
// add ''sectors'' to main_query when it''s a tag- or post-archive
if ( is_tag() && $query->is_main_query() || is_archive() && $query->is_main_query() )
$query->set( ''post_type'', array( ''post'', ''page'', ''sectors'', ''add_more_here'' ) );
return $query;
}
?>
Segundo: después de hacerlo, puede usar archive.php
, tag.php
o tag-myTagName.php
en su tema para mostrar una página de archivo para esa etiqueta, incluidos los " sectores " de tipo de publicación personalizada. No tendrá que configurar una consulta especial, solo agregue un enlace a la etiqueta deseada en uno de sus menús: su bucle estándar hará el resto.
Insinuación:
Cuando solo desee crear una página de archivo para sus '' sectores '' de Posteo personalizados completos, también puede usar el enlace de tipo de archivo Post tipo WP.
Si busca un tipo de publicación personalizado con nombre de etiqueta, deberá especificarlo en los argumentos de consulta:
<?php $query = new WP_Query( array( "post-type" => "sectors", "tag" => "featuredpost1" ) );
while ($query->have_posts()) : $query->the_post();
the_title();
endwhile; ?>
Que esto te ayude ...
Parámetros de consulta de WordPress
Si añades ::
$args = array(
''post_type'' => array( ''sectors'' ) //, ''multiple_types_after_commas'' )
);
$query = new WP_Query( $args );
o
$query = new WP_Query( ''post_type=sectors'' );
Esto le ayudará a orientar su tipo de publicación con su consulta.
Se verá como
$args = array(
''tag_slug__and'' => array(''featuredpost1''),
''post_type'' => array( ''sectors'' )
);
$loop = new WP_Query( $args );
while ($loop->have_posts() ) : $loop->the_post();