[ 解決済 ] カスタム投稿タイプのアーカイブページにメタディスクリプションを設定したい
VWSとは › フォーラム › All in One Expansion Unit › [ 解決済 ] カスタム投稿タイプのアーカイブページにメタディスクリプションを設定したい
[ 解決済 ] カスタム投稿タイプのアーカイブページにメタディスクリプションを設定したい
タグ: ディスクリプション アーカイブ
-
投稿者投稿
-
2021年11月20日 10:13 PM #58712
tack参加者■ WordPress のバージョン
5.8.2■ テーマ・プラグインは全て最新版で確認してください。
確認しました。■ テーマの種類
Lightning ( G3 ) + Lightning G3 Pro Unit■ テーマのバージョン
14.11.12■ Pro Unit のバージョン
0.12.2■ スキンの種類
Origin III■ 関連しそうなプラグインを一つづつ停止して症状が改善するか確認してください。
確認しました。■ 期待する動作
カスタム投稿タイプのアーカイブページにメタディスクリプションを設定したいです。
「Custom Post Type UI」プラグインで作成して、カスタム投稿タイプで説明を入力できる欄があるので、そこの内容をメタディスクリプションに出力したいです。vkExUnitのカスタム投稿タイプ作成機能では説明を入力するところが無かったり機能が足りないため、「CPT UI」を利用したいです。
■ 自分で試した事
アーカイブページにディスクリプションを設定できるプラグインなどを探してみましたが、All in One Seoしか見つかりませんでした。ただこちらのプラグインは多機能&強力過ぎて利用が難しい状況です。
AinSeoなしでできればやりたいと思っています。また、フックでできないかと調べてみたのですが、私の能力不足のためわかりませんでした。
vk-all-in-one-expansion-unit/inc/meta-description.phpの中で、
12行目 get_post_types( array( ‘public’ => true ) );
のページにのみメタディスクリプションを出力しているようだ、とは分かったのですが。■ 症状が発生するブラウザ
–■ 実際の症状
–■ その他特記事項
–2021年11月20日 11:59 PM #58715
石川@Vektor,Inc.キーマスターExUnit が出力する description タグは以下のようなコードで変更になります。
add_filter( 'vk_get_page_description', function( $description ) { $post_type_descriptions = array( 'post' => '投稿のディスクリプション', 'event' => 'イベントのディスクリプション', ); foreach ( $post_type_descriptions as $post_type => $archive_description ) { if ( is_post_type_archive( $post_type ) ) { $description = $archive_description; } } return $description; } );2021年11月22日 11:28 AM #58761
石川@Vektor,Inc.キーマスター↑ のコードだと投稿(post)が書き換わらないので修正版です。
※↑のコードのままでも投稿トップに指定した固定ページの抜粋に入力すればその内容がディスクリプションに反映されます。add_filter( 'vk_get_page_description', function( $description ) { $post_type_descriptions = array( 'post' => 'フックで変更した投稿のディスクリプション', 'event' => 'フックで変更したイベントのディスクリプション', ); foreach ( $post_type_descriptions as $post_type => $archive_description ) { if ( 'post' === $post_type && is_home() && ! is_front_page() ){ $description = $archive_description; } else{ if ( is_post_type_archive( $post_type ) ) { $description = $archive_description; } } } return $description; } );2021年11月23日 2:12 AM #58824
tack参加者ありがとうございます。
「CPT UI」の説明部分はget_queried_object()->descriptionで取得できたので、上記ソースを書き換えて、無事できました。ありがとうございます。質問があるのですが
「※↑のコードのままでも投稿トップに指定した固定ページの抜粋に入力すればその内容がディスクリプションに反映されます。」
とおっしゃっておりますが、これはvkExUnitでカスタム投稿タイプを作成して、ウィジェットで投稿アーカイブページに固定ページを表示する機能を使った際に、そうなる機能があるとのことでしょうか?
「投稿トップに指定した固定ページ」の意味が解釈できていません。2021年11月23日 5:27 PM #58841
石川@Vektor,Inc.キーマスター「投稿トップに指定した固定ページ」は、設定 > 表示設定 で投稿のトップに指定した固定ページ の事です。
この固定ページの抜粋に入力した内容が、description に通常反映されます。これは ExUnit のディスクリプション機能の仕様です。カスタム投稿タイプではそういった機能は存在しないので、現状では上記のコードのような個別のカスタマイズが必要という状態です。
2021年11月23日 6:18 PM #58845
tack参加者ありがとうございます。よくわかりました。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。
- トピックタグ
- ディスクリプション アーカイブ

