태그를 통한 사용자 지정 게시 유형 수집
다음 코드를 사용하여 '섹터'라는 사용자 지정 게시 유형을 설정했습니다.
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' ),
));
}
이것에 의해, 커스텀 투고 타입의 페이지에 「태그」를 추가할 수 있게 되었습니다.
이 커스텀 투고 타입의 페이지를 특정 태그로 표시하려고 합니다.
저는 다음 코드를 사용하여 투고할 수 있었습니다.
<?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(); ?>
이렇게 하면 'featuredpost1'이라는 태그를 가진 모든 게시물이 생성됩니다.
커스텀 포스트 타입에서는 어떻게 이것이 가능합니까?
편집/갱신:
이것으로 동작합니다.다른 페이지에서 이 기능을 사용할 수 있는 방법이 있습니까?예를 들어, 제 홈페이지에서 태그를 통해 투고를 받을 경우, 이 페이지에서 업데이트되는 내용은 무엇입니까?
: 를 추가하는 경우:
$args = array(
'post_type' => array( 'sectors' ) //, 'multiple_types_after_commas' )
);
$query = new WP_Query( $args );
또는
$query = new WP_Query( 'post_type=sectors' );
이를 통해 쿼리로 게시 유형을 지정할 수 있습니다.
이렇게 보일 거예요.
$args = array(
'tag_slug__and' => array('featuredpost1'),
'post_type' => array( 'sectors' )
);
$loop = new WP_Query( $args );
while ($loop->have_posts() ) : $loop->the_post();
Cayce K의 솔루션은 완벽하게 작동합니다.두 번째 방법은 다음과 같습니다.
첫 번째: 기본 쿼리에 사용자 지정 게시 유형을 추가합니다.몇 줄만 추가하면 이 정보를 얻을 수 있습니다.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;
}
?>
두 번째: 이 작업을 수행한 후archive.php
,그tag.php
또는tag-myTagName.php
커스텀 투고 타입의 「섹터」를 포함한, 그 태그의 아카이브 페이지를 표시하는 테마를 참조해 주세요.특별한 쿼리를 설정할 필요는 없습니다.원하는 태그에 대한 링크를 메뉴 중 하나에 추가하면 됩니다.나머지는 표준 루프가 수행합니다.
힌트:
완전한 커스텀 투고 타입의 아카이브 페이지를 작성하는 경우, WP 플러그 인의 Post Type Archive Link 를 사용할 수도 있습니다.
태그 이름을 가진 커스텀 투고 타입을 찾고 있는 경우는 쿼리 인수로 지정해야 합니다.
<?php $query = new WP_Query( array( "post_type" => "sectors", "tag" => "featuredpost1" ) );
while ($query->have_posts()) : $query->the_post();
the_title();
endwhile; ?>
이것이 당신에게 도움이 되길.
언급URL : https://stackoverflow.com/questions/29901455/gathering-custom-post-types-via-tags
'programing' 카테고리의 다른 글
워드프레스 현재 카테고리 ID 가져오기 (0) | 2023.03.13 |
---|---|
wp_nav_menu에서 링크를 위한 클래스를 추가하는 방법 (0) | 2023.03.13 |
JSON 반복기를 사용한 안전 경고 입력 (0) | 2023.03.13 |
React this.props가 정의되지 않았습니다. (0) | 2023.03.13 |
Celery: 커스텀 JSON 인코더/디코더를 쓰는 방법이 있습니까? (0) | 2023.03.13 |