我正在尝试获取我为产品创建的自定义分类的打印名称。
function create_product_taxonomies()
{
// Add new taxonomy, make it hierarchical (like categories)
$labels = array(
'name' => _x('product_categories', 'taxonomy general name'),
'singular_name' => _x('Product', 'taxonomy singular name'),
'search_items' => __('Search Product Category'),
'all_items' => __('All Product Categorie(s)'),
'parent_item' => __('Parent Product Category'),
'parent_item_colon' => __('Parent Product Category:'),
'edit_item' => __('Edit Product Category'),
'update_item' => __('Update Product Category'),
'add_new_item' => __('Add New'),
'new_item_name' => __('New Product Name'),
'menu_name' => __('Product Categories'),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'product_categories', 'with_front' => true));
register_taxonomy('product_categories', array('products'), $args);
我通过wordpress管理面板添加了数据。现在我想在product.php文件中显示类别的名称。
function getLatestProducts()
{
$args = array(
'post_status' => 'publish',
'post_type' => 'products',
'posts_per_page' => 12,
'order' => 'ASC'
);
$result = '<div class="col-sm-3">';
$loop = new WP_Query($args);
$i=0;
while ($loop->have_posts())
{
$loop->the_post();
$clink=get_permalink($post->ID);
$desc=get_the_excerpt();
$categories = get_terms( 'product_categories');
$desc = strip_tags(str_replace(array("<p>", "</p>"), "", $desc));
$the_imgurl = get_post_custom_values('_cus_n__image');
$theimage=$the_imgurl[0];
$the_locurl = get_post_custom_values('_cus_n__location');
$theloc=$the_locurl[0];
echo $categories;
$result .='<div class="product-warp">';
$result .='<div class="product"> <a href="#"><img src="/wp-content/themes/cake/images/pro1.jpg" title="" alt=""></a> </div>';
$result .='<div class="product-name">';
$result .='<h5><a href="#">'.$categories.'</a></h5>';
$result .='</div>';
$result .='</div>';
$i++;
}
$result .= '</div>';
if($i > 0){
return $result;
} else {
return "";
}
}
它只是打印这个arrayarrayarrayarrayarrayarray
答案 0 :(得分:1)
好的,你可以使用get_terms功能来达到这个目的。这是一个例子:
第一部分
<?php
$args = array(
'orderby' => 'name'
);
$terms = get_terms('product_categories', $args);
foreach($terms as $term) {
?>
<a href="<?php echo get_term_link($term->slug, 'product_categories') ?>">
<?php echo $term->name; ?>
</a>
<?php
}
?>
我只给你举个例子。您可以将我的代码粘贴到您想要的位置。
第二部分
现在使用WordPress Taxonomy Template,当用户点击您的某个类别时,下一页显示所有已点击类别的相关产品,并且您必须read这个。
如果您阅读taxonomy Template
链接,我们会转到下一步。
现在,您在主题根文件夹中创建一个文件taxonomy-product_categories.php
。
这为您的分类创建模板。
现在在这个文件中这里是完整的代码:
<?php
get_header();
$slug = get_queried_object()->slug; // get clicked category slug
$name = get_queried_object()->name; // get clicked category name
$tax_post_args = array(
'post_type' => 'products', // your post type
'posts_per_page' => 999,
'orderby' => 'id',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'product_categories', // your taxonomy
'field' => 'slug',
'terms' => $slug
)
)
);
$tax_post_qry = new WP_Query($tax_post_args);
if($tax_post_qry->have_posts()) :
while($tax_post_qry->have_posts()) :
$tax_post_qry->the_post();
the_title();
the_content();
endwhile;
endif;
get_footer();
?>
我再一次告诉你,我只给你一个代码,你可以在你的主题中合并这段代码。
希望这对你有所帮助。