私は現在ウェブサイトを継承しており、私が現在持っているコードは、カスタム投稿のポストループでアルファベット順に判断される最初のカテゴリを表示するようです...最初のカテゴリ - Wordpressの代わりに親カテゴリを表示
私はカテゴリ名とポストのタイトルを通じて引っ張っています。このコードを持って:あなたは気づくでしょうコードのビットが
class SeedPost {
public $post_id;
public $post_type;
function __construct($post_id) {
$this->post_id = $post_id;
$this->post_type = get_post_type($this->post_id);
}
function display($twocol = false) {
global $post;
$post = get_post($this->post_id);
$cols = $twocol ? 'two' : 'three';
setup_postdata($post);
if($this->post_type == 'portfolio') {
$overlay_class = 'item__overlay--portfolio';
} else {
$overlay_class = 'item--cat-' . SeedHelpers::first_category();
}
?>
<a href="<?php the_permalink(); ?>">
<div class="item item--<?php echo $cols; ?>">
<?php
if(has_post_thumbnail()) {
the_post_thumbnail('news-archive', array('class' => 'item--three__child'));
}
?>
<div class="item__overlay <?php echo $overlay_class; ?>">
<span class="item__cat-title item__cat-title--overlay"><?php echo SeedHelpers::first_category($this->post_type); ?></span>
<?php get_cat_name($cat_id) ?>
<h4 class="item__title"><?php the_title(); ?></h4>
<!-- <?php the_excerpt(); ?> -->
</div>
</div>
</div>
</a>
<?php
wp_reset_postdata();
}
:
SeedHelpers::first_category($this->post_type)
これはfunctiに関連しますこの投稿に割り当てられたカテゴリの最初のものが表示されます。
この関数はここにある:
static function first_category($post_type = 'post') {
if($post_type == 'post') {
$category = get_the_category();
if($category) {
return $category[0]->cat_name;
}
return false;
} elseif($post_type == 'portfolio') {
$category = get_the_terms(get_the_ID(), 'portfolio-category');
if($category) {
return $category[0]->name;
}
return false;
}
}
私のポストのそれぞれが一つのメインカテゴリーと複数の子カテゴリを持って、私はそれが唯一の親サブカテゴリーを示してコードを変更したいと思います...
私はオンラインで見つけたものを試しましたが、正しく表示されないようです...
EDIT >>>>>>>>このビットは上記のビットの下にありますこれに関係があるかどうか確かめてください。
static function category_shorthand() {
$category = get_the_terms(get_the_ID(), 'portfolio-category');
if($category) {
$category_id = $category[0]->term_id;
$shorthand = get_field('shorthand', 'portfolio-category_' . $category_id);
if($shorthand) {
return $shorthand;
}
return $category[0]->name;
}
return false;
}
サイトはここにある:私の知る限りでは、ドキュメントを読んで、get_the_category
がWP_Termオブジェクトの配列を返す必要がありますhttp://ideedev.co.uk/newseed/portfolio/とポートフォリオ品目に箱入りのロールオーバーでカテゴリを表示...
お試しください$ category [0] - > category_parent' – RST
ありがとうございます@RSTどこに追加しますか? –
'$ category [0] - > category_parent'の代わりに' $ category [0] - > name'が来ます – RST