2016-04-28 28 views
0

我在努力獲得應該是一個非常簡單的WordPress自定義分類學歸檔模板的工作。如何根據WordPress的帖子按字母順序獲取分類學子項的列表

我收到所有的信息和帖子是按字母順序排列的,但這些條款是按ID順序排列的,需要按字母順序排列

我對我的方式進行了欺騙,目前使用的代碼是this post。我已經嘗試了來自網絡的衆多解決方案,但沒有運氣。我看到this post has a solution,但不知道如何在下面的代碼中實現它。

也許有一種更簡單的方法來做我所需要的?

查詢需要獲取當前父項,然後是子項和子項中的帖子。以下代碼位於我的分類業務類別(父項).php上,例如我的分類業務類別bars.php。我需要輸出與帖子分組的子項。所有內容都必須按字母順序排列。

<?php 
$term_slug = get_query_var('term'); 
$taxonomyName = get_query_var('taxonomy'); 
$current_term = get_term_by('slug', $term_slug, $taxonomyName); 
$termchildren = get_term_children($current_term->term_id, $taxonomyName); 
foreach ($termchildren as $child) { 
$term = get_term_by('id', $child, $taxonomyName); 
    $wpq = array (
    'taxonomy'=>$taxonomyName, 
    'term'=>$term->slug, 
    'order'=>'asc', 
    'orderby'=>'title'); 
    $query = new WP_Query ($wpq); 
    echo "$term->name:<br />"; 
    ?> 

    <?php 
    if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?> 
    <a href="<?php the_permalink();?>"><?php the_title();?></a>, 
    <?php endwhile; endif; wp_reset_query(); ?> 
    <?php 
    echo "<br />"; 
} 
?> 

這裏是鏈接到taxonomy template作爲.txt。文件。

更新:由於我被父項硬編碼分類模板,可我用這樣的事情上面我的代碼:

<?php 
$term_id = 32; 
$taxonomy_name = 'business-categories'; 
$termchildren = get_term_children($term_id, $taxonomy_name); 
$children = array(); 
foreach ($termchildren as $child) { 
$term = get_term_by('id', $child, $taxonomy_name); 
$children[$term->name] = $term; 
} 
ksort($children); 

回答

0

與上面提供的代碼替換此代碼

<?php 
$term_slug = get_query_var('term'); 
$taxonomyName = get_query_var('taxonomy'); 
$current_term = get_term_by('slug', $term_slug, $taxonomyName); 
$termchildren = get_term_children($current_term->term_id, $taxonomyName); 
foreach ($termchildren as $child) { 
$term = get_term_by('name', $child, $taxonomyName); 
$wpq = array (
'taxonomy'=>$taxonomyName, 
'term'=>$term->slug, 
'order'=>'asc', 
'orderby'=>'title'); 
$query = new WP_Query ($wpq); 
echo "$term->name:<br />"; 
?> 
<?php 
if ($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); ?> 
<a href="<?php the_permalink();?>"><?php the_title();?></a>, 
<?php endwhile; endif; wp_reset_query(); ?> 
<?php 
echo "<br />"; 
} 
?> 

讓我知道,如果這對你有用...

+0

嗨,這不起作用在我的情況。它不會顯示任何子項,並且所有帖子不僅列在父項的子項中。 –

+0

用你的代碼代替上面的代碼,希望能對你很好用 – laraib

+0

不,對不起,它不起作用。我沒有獲得任何子女條款,並且再次列出所有職位,無論他們在哪個職位.ksort帶來了一個子職位,並以A開頭,因此它按字母順序排列,但沒有顯示任何其他條款或職位。任何其他想法?我在我的問題中添加了完整分類模板代碼的鏈接。 –

0

在我的情況下的解決方案是安裝插件自定義分類訂購NE和(由插件的作者指示)adju STED查詢如下:

替換此:

$termchildren = get_term_children($current_term->term_id, $taxonomyName); 
foreach ($termchildren as $child) { 
$term = get_term_by('id', $child, $taxonomyName); 
$wpq = array (

有了這個

$termchildren = get_terms(array(
'taxonomy' => $taxonomyName, 
'child_of' => $current_term->term_id, 

));

foreach ($termchildren as $term) { 
$wpq = array (
相關問題