カスタム投稿にタクソノミーの表示列と絞り込みを追加

追加したカスタム投稿の一覧に、タクソノミーターム名(カテゴリー名)と絞り込み検索を追加するコードです。

/**
 * カスタム投稿一覧に列追加
 *
 */
function add_custom_column( $defaults ) {
$defaults['タクソノミー名'] = 'カテゴリー';
return $defaults;
}
add_filter('manage_posts_columns', 'add_custom_column');


/**
 * カスタム投稿一覧にタクソノミーのタームを表示
 *
 */
function add_custom_column_id($column_name, $id) {
if( $column_name == 'タクソノミー名' ) {
echo get_the_term_list($id, 'タクソノミー名', '', ', ');
}
}
add_action('manage_posts_custom_column', 'add_custom_column_id', 10, 2);


/**
 * カスタム投稿一覧にタームで絞り込むプルダウンリストを表示(3階層まで)
 *
 */
function add_post_taxonomy_restrict_filter() {
    global $post_type;
    if ( 'experience' == $post_type ) {
        echo '<select name="experience-cat">';
            echo '<option value="">カテゴリー指定なし</option>';
            $terms = get_terms('タクソノミー名', 'hide_empty=0');
            foreach ($terms as $term) :
             if ($term->parent == 0):
              echo '<option value="' . $term->slug . '">' . $term->name . '</option>';
              $parentID = $term->term_id;
 
              $children = get_terms( 'タクソノミー名','hierarchical=1&parent='.$parentID );
              if(!empty($children)):
 
               foreach($children as $child):
                echo '<option value="' . $child->slug  . '"> ' . $child->name . '</option>';
                
                $grandchildren = get_terms('experience-cat','hierarchical=0&parent='.$child->term_id);
      
                  if(!empty($grandchildren)):         

                    foreach ( $grandchildren  as $grandson ):
                    echo '<option value="' . $grandson->slug  . '">  ' . $grandson->name . '</option>';

                    endforeach;

                  endif;
      
               endforeach;
 
              endif;
             endif;
           endforeach;
 
        echo '</select>';
    }
}
add_action( 'restrict_manage_posts', 'add_post_taxonomy_restrict_filter' );

cssを使って文字を折り返す

CSSを使って文章を折り返す方法
疑似要素の『:before』を使って改行
■css
.test:before{
content:”テスト\A”;
white-space: pre;
}
■html

テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキ
ストテキストテキストテキストテキストテキスト

■結果
テスト
テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキ
ストテキストテキストテキストテキストテキスト

スタイルシートのエラーチェック

W3C CSS 検証サービス
http://jigsaw.w3.org/css-validator/#validate_by_uri+with_options
上記のサイトでは、1URL,2アップロード,3直接入力でCSSを検証出来ます。

■エラーの種類
警告メッセージ
ベンダープレフィックスを使用している箇所はエラー扱いになる
can’t find the warning message for vendor-extension

独自拡張である疑似要素を使っていると出てくる警告
can’t find the warning message for vendor-ext-pseudo-element

プラグイン:Breadcrumb NavXT

面倒なパンクズの構築を解決してくれるプラグインをご紹介します。
Breadcrumb NavXT
https://ja.wordpress.org/plugins/breadcrumb-navxt/

インストールが完了したら、設定をしましょう。

後は設置した場所に下記のコードを追加しましょう。

<div class="breadcrumbs" typeof="BreadcrumbList" vocab="http://schema.org/">
  <?php if(function_exists('bcn_display'))
  {
   bcn_display_list();
  }?>
</div>

※bcn_display_list();で

  • タグでの出力、bcn_display();だとタグで出力されます。

    カスタムタクソノミーでタームを階層化していると、結構パンクズに悩まされますが、
    このプラグインを使うことで解決できました。