サポート » 使い方全般 » 投稿のパーマリンクを階層化せず親カテゴリのみにしたい

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 現在使っている参考ページのURLが載せられないので、コードのみ書きます。

    functions.phpに以下を追加しています。

    //子カテゴリを非表示にするフィルタフック
    add_filter( ‘post_link’, ‘remove_children_category_slug’, 10, 3 );
    function remove_children_category_slug( $permalink, $post, $leavename ){
    //カテゴリのIDを取得
    $cats = get_the_category( $post->ID );
    if ( $cats ) {
    //ID順にソート
    usort( $cats, ‘_usort_terms_by_ID’ );
    foreach( $cats as $cat ) {
    //親カテゴリが存在するかチェック
    if ( $cat->parent ) {
    $parentcategory = explode(” “,get_category_parents( $cat, false, ‘ ‘, true ));
    //配列から最上位のカテゴリを取得
    $parentcat = $parentcategory[0];
    } else {
    //親がない場合はそのままスラッグを取得
    $parentcat = $cat->slug;
    }
    }
    }
    //管理画面で設定したパーマリンクの設定に合わせる
    $permalink = home_url().”/”.$parentcat.”/”.$post->post_name;

    return $permalink;
    }

    フィルターフック post_link_category を使って解決することができました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿のパーマリンクを階層化せず親カテゴリのみにしたい」には新たに返信することはできません。