suca06
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧にpage-スラッグ.phpを使用したいありがとうございます!!!!!!!!!!!!!!!!!!!!!!!!!!
has_archiveをfalseにしただけで目的達成できました!本当に助かりました!感謝しきれません!!!!!一生忘れません1!!!
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧にpage-スラッグ.phpを使用したいhttps://senoweb.jp/note/customposttype-page-paging/
固定ページでカスタム投稿タイプのアーカイブを出力するこれをしたいのですが、プラグインの使用なしで実現したいと思っています。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧にpage-スラッグ.phpを使用したい返信ありがとうございます。
中身を入れ替えたいわけではなく、
page-test.phpを読み込ませたいのです。
そのため中身は空(どのページが読み込まれたかわかるようにテキストで目印をつけたページ)で大丈夫です。archive-test.phpの使用だと、カスタムメニューのカレント表示がされないや、使用したいプラグインがカスタム投稿の場合だと使用不可になっていたりと、いろいろ不都合があり、固定ページ用のテンプレートととして扱いたいと思っています。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿をカレント表示させたい。フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿をカレント表示させたい。いつもありがとうございます。
すみません。上の方法でクラスが追加されました。
いろいろ試しすぎて整理ができていなくてすみません。カスタム投稿一覧ページ(archive-test.php)のテンプレートファイルを使用しようと
function.phpに追記して、archive-test.phpを読み込ませると
クラスがつかなくなりました。最初はこちらのコードを追記したのですが、
// カスタム投稿タイプの追加 add_action( ‘init’, ‘create_post_type’ ); function create_post_type() { register_post_type( ‘test’, // 投稿タイプ名の定義 array( ‘labels’ => array( ‘name’ => __( ‘テスト’ ), // 表示する投稿タイプ名 ‘singular_name’ => __( ‘テスト ) ), ‘public’ => true, ‘menu_position’ =>5, ) ); }
これだとなぜかarchive-test.phpを読み込んでくれなかったので、こちらのコードに変更したら
無事にarchive-test.phpを読み込んでくれたのですが
そうするとクラスが消えてしまいました。// カスタム投稿タイプの追加 add_action('init','add_custom_post'); function add_custom_post(){ register_post_type('test', array( 'labels' => array( 'name' => __('テスト'), 'menu_name' => __('テス'), ), 'public' => true, 'has_archive' => true, 'menu_position' => 4, 'show_ui' => true, 'publicly_queryable' => true, 'query_var' => true, 'capability_type' => 'post', 'hierarchical' => false, 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'revisions' ), 'rewrite' => array( 'with_front' => false, ), ) ); }
何度もお付き合いいただき感謝しています。
- この返信は4年、 1ヶ月前にsuca06が編集しました。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿をカレント表示させたい。いろいろありがとうございます。
WPをインストールし直してテンプレート(Twenty Twenty-One)でもダメでした。ちなみに、function.phpにはカスタム投稿追加のコードだけ記載しました。
testのカスタム投稿を固定ページで登録してスラッグを「test」にして表示させています。// カスタム投稿タイプの追加
add_action( ‘init’, ‘create_post_type’ );
function create_post_type() {
register_post_type( ‘test’, // 投稿タイプ名の定義
array(
‘labels’ => array(
‘name’ => __( ‘テスト’ ), // 表示する投稿タイプ名
‘singular_name’ => __( ‘テスト )
),
‘public’ => true,
‘menu_position’ =>5,
)
);
}`その後にishitakaさんのコードを記述しました。
add_action( 'wp_nav_menu_objects', function( $sorted_menu_items, $args ) { foreach ( $sorted_menu_items as $sorted_menu_item ) { if ( 'test' == $sorted_menu_item->object ) { if ( is_singular( 'test' ) ) { $sorted_menu_item->classes[] = 'current_page_item'; } } } return $sorted_menu_items; }, 10, 2 );
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿をカレント表示させたい。ishitakaさん
ありがとうございます。function.phpに記述して、
‘カスタム投稿タイプ’の箇所を「test」にして
testページを開きましたが「current_page_item」のクラスが付与されていませんでした。試しに、参考URLのコードの「hoge」を「test」にしてみましたが「this-page-is-hoge」のクラスが付与されませんでした。
HTML上ではこんな感じで付与されるイメージであっていますでしょうか?
<ul>
<li><a href=”#”>ホーム</a></li>
<li class=”current_page_item”><a href=”#”>テスト</a></li>
</ul>