0

私は私のワードプレスのtheme-functions.phpファイルにこのフィルターカテゴリ関数を持っています:

function tie_categories_filter() {
    if( tie_get_option( 'enable_filter' ) && tie_get_option( 'on_home' ) == 'grid' ):
        $exc_home_cats = tie_get_option( 'exc_home_cats' );
        if( $exc_home_cats )
            $comma_cats_separated = @implode(",", $exc_home_cats );
        $categories = get_categories('exclude='.$comma_cats_separated); ?>

<ul id="filters">
  <li class="current all-items"><a href="#" data-filter="*"><?php _e( 'All' , 'tie' ) ?></a></li>
  <li class="current all-items"><a href="#" data-filter=".cat_1">General</a></li>

<?php
  foreach($categories as $category) { ?>
    <li><a href="#" data-filter=".cat_<?php echo $category->term_id ?>"><?php echo $category->name ?></a></li>
<?php } ?>
</ul>
<?php
    endif;
}

私はこの行を追加しました:

<li class="current all-items"><a href="#" data-filter=".cat_1">General</a></li>

そのため、サイトでは「すべて」フィルターが表示され、次に「一般」が表示され、残りのカテゴリが表示されます。

そのため、「一般」カテゴリをループから除外する必要があります。wordpress term_id=1 で彼女に連絡できます。

どうすればphpでこれを行うことができますか?

ありがとうございました。

4

1 に答える 1

2

最も簡単なオプションはif、ループにステートメントを追加して、1 かどうかを確認することterm_idです。1 の場合は、continueループします。

<?php
foreach ($categories as $category) {
    if ($category->term_id === 1) {
        continue;
    }
?>
    <li><a href="#" data-filter=".cat_<?php echo $category->term_id ?>"><?php echo $category->name ?></a></li>
<?php
}
?>
于 2013-09-23T12:51:27.427 に答える