현재 웹 사이트에서 나는 다음과 같은 기능을 구축하고 있습니다.Wordpress에서 선택된 맞춤 분류에 기반한 맞춤 게시물 표시
문제를 더 잘 이해할 수있는 현재 상황.
블로그라는 페이지가 있습니다. 이 페이지 디스플레이에는 목록에있는 모든 블로그 (게시물)가 표시됩니다. 게시물에있는 모든 카테고리는 제외됩니다. 사용자는 카테고리를 선택할 수 있습니다. 사용자가이를 클릭하면 사용자는 category.php로 이동하여 특정 카테고리가있는 모든 게시물을 볼 수 있습니다.
사용자 정의 게시 유형과 동일한 시나리오를 만들고 싶습니다. 템플릿 부분이 있습니다. 'offer-list-template.php'
offer-list-template.php (여기서는 모든 제안을 받고 표시합니다);
<?php
// set up or arguments for our custom query
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query_args = array(
'post_type' => 'Offers',
'posts_per_page' => 10,
'paged' => $paged
);
// create a new instance of WP_Query
$the_query = new WP_Query($query_args);
?>
<?php if ($the_query->have_posts()) : while ($the_query->have_posts()) : $the_query->the_post(); // run the loop ?>
<?php
//$objectData is used in post-listing-item.php
$objectData->title = get_the_title($post);
$objectData->content = get_the_content($post);
$objectData->permalink = get_the_permalink($post);
$objectData->thumbnail = get_the_post_thumbnail($post);
$objectData->posttype = get_post_type($post);
include(locate_template('template-parts/post-listing-item.php'));
?>
<?php endwhile; ?>
동일한 파일에는 범주를 보여주는 옆에 있습니다. offer_category은 택 소노 슬러그입니다.
<?php $terms = get_terms('offer_category');
foreach ($terms as $term) {
// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link($term);
// If there was an error, continue to the next term.
if (is_wp_error($term_link)) {
continue;
}
// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url($term_link) . '">' . $term->name . '</a><span>('. $term->count . ')</span></li>';
}
?>
</ul
결과는 다음과 같습니다 사용자가가가는 categorie 클릭
경우 : 분류 - 제공 - category.php (분류-slug.php) 여기
선택한 카테고리가있는 게시물 (post_type-> offers)을 표시해야합니다. 사용자 정의 포스트 유형의
등록 :
//Register Custom post type for Offers.
function create_posttype_offer() {
$args = array(
'labels' => array(
'name' => __('Offers', ''),
'singular_name' => __('Offer'),
'all_items' => __('All Offers'),
'add_new_item' => __('Add New Offer'),
'edit_item' => __('Edit Offer'),
'view_item' => __('View Offer')
),
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'Offers'),
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'capability_type' => 'page',
'supports' => array('title', 'editor', 'thumbnail'),
'exclude_from_search' => true,
'menu_position' => 70,
'has_archive' => true,
'menu_icon' => 'dashicons-star-filled'
);
register_post_type('Offers', $args);
}
add_action('init', 'create_posttype_offer');
// Register Custom Categoeries for Custom Post Type Offers
function taxonomies_offer() {
$labels = array(
'name' => _x('Categories', 'taxonomy general name'),
'singular_name' => _x('Category', 'taxonomy singular name'),
'search_items' => __('Search Categories'),
'all_items' => __('All Categories'),
'parent_item' => __('Parent Category'),
'parent_item_colon' => __('Parent Category:'),
'edit_item' => __('Edit Category'),
'update_item' => __('Update Category'),
'add_new_item' => __('Add New Category'),
'new_item_name' => __('New Category'),
'menu_name' => __('Categories'),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
);
register_taxonomy('offer_category', 'offers', $args);
}
add_action('init', 'taxonomies_offer', 0);
내가 기본 포스트 유형을 사용하고 내가 선택한 카테고리에 게시물을 표시 할 것이다 다음 코드를 가지고 category.php를 호출 할 때. 하지만 사용자 정의 게시물 유형으로 그것을 관리 할 수있는 방법을 찾을 수 없습니다.
<?php if (have_posts()) : while (have_posts()) : the_post(); // run the loop ?>
<?php
//$objectData is used in post-listing-item.php
$objectData->title = get_the_title($post);
$objectData->content = get_the_content($post);
$objectData->permalink = get_the_permalink($post);
$objectData->thumbnail = get_the_post_thumbnail($post);
$objectData->posttype = get_post_type($post);
include(locate_template('template-parts/post-listing-item.php'));
?>
<?php endwhile; ?>
이
은 (보기) 후 목록 항목입니다<article class="post-item">
<figure>
<?php echo $objectData->thumbnail ?>
</figure>
<div class="content">
<a href="<?php echo $objectData->permalink ?>">
<h2><?php echo $objectData->title ?></h2>
</a>
<p><?php echo $objectData->content ?></p>
<div class="read-more-button">
<a href="<?php echo $objectData->permalink ?>">read more
<span>
<svg class="next-arrow"><use xlink:href="#next-arrow" /></svg>
</span>
</a>
</div>
</div>
</article>
방금 제목을 검색했지만 개체에서 필요한 모든 것을 얻을 수 있습니다. – Marc