ど素人から毛を生やす。<延>

HeadSpace2で入力がないときに指定の文言を出力する方法

Web > WordPress > プラグイン 2014年10月22日(最終更新:10年以上前)

2014年10月22日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
TRPGがやりたい餅。です。

久しぶりですがWordPressの話題をば。

 

SEO対策プラグインとして名高いHeadSpace2。

こちらは記事毎にキーワードとディスクリプションを設定することができるプラグインです。
ただしこれ、テンプレートの方に記載が有る場合は、入力したものはその後ろに入る仕様です。

それは困るので、入力があるときはその内容だけを、入力がないときは指定の文言を出力するようにしたいと思います。

①一般的な方法 -管理画面から-

まずは、HeadSpace2の基本から。

管理画面の  設定 > HeadSpace で、編集画面を開きます。

h261022_1

で、表示させたい項目をクリックし、内容を入力します。

こちらで文言を入力した場合、自動的に記事毎に記載があればそちらを、なければこちらで入力した内容が出力されます。

なお、デフォルトではキーワードの項目がないので、ぶっちゃけ不要ですが表示させたい場合は上メニューの「ページモジュール」をクリック。

h261022_2

「Keywords」をドロップして、緑のエリアに持ってきます。

なお、デフォルト設定は「タグを使用する」「最大文字数0」になっているので、クリックして編集しておくと良いでしょう。

 

ちなみに、この画面で使えるタグは以下のものです。
現在の管理画面では一部未翻訳のところがあるので、Google先生に翻訳して貰いました。

%%date%% 記事/ページの日付と入れ替える
%%title%% 記事/ページのタイトルと入れ替える
%%sitename%% サイトの名前
%%excerpt%% (それが存在しない場合は、自動生成された)ポスト/ページの抜粋に置き換え
%%excerpt_only%% (自動生成せずに)ポスト/ページの抜粋に置き換え
%%tag%% 現在のタグ/タグに置き換え
%%category%% ポストのカテゴリに置き換え(カンマ区切り)
%%category_description%% カテゴリーdescription(説明文)と入れ替える
%%tag_description%% タグの記述に置き換え
%%term_description%% タームの説明に置き換え
%%term_title%% タームの名前に置き換え
%%modified%% 記事/ページの修正された時間と入れ替える
%%id%% 記事/ページのIDと入れ替える
%%name%% 記事/ページの著者のニックネームと入れ替える
%%userid%% 記事/ページの著者のユーザーidと入れ替える
%%searchphrase%% 検索ワードと入れ替える
%%currenttime%% 現在の時刻と入れ替える
%%currentdate%% 現在の日付と入れ替える
%%currentmonth%% 現在の月に置き換え
%%currentyear%% 現在の年に置き換え
%%page%% ページ番号と入れ替える(page 2 of 3)
%%pagetotal%% 現在のページの合計に置き換え
%%pagenumber%% 現在のページ番号に置き換え
%%caption%% 添付ファイルのキャプション

 

しかしこの編集機能、ひとつ重大な問題がありまして。

カスタム投稿タイプが複数ある場合、投稿タイプごとに表示を分けることができないのです。
しかも、「カスタム投稿タイプ名」を出力するタグもありません。
というわけで、複数のカスタム投稿に対応するためにはテンプレートに直書きするしかないのです。

たぶん。

②カスタム投稿タイプが複数ある場合 -テンプレートを-

さて、ここからが本番。

カスタム投稿が複数ある場合、Headspace2が用意してくれる編集画面では足りません。
しかし、テンプレートに直書きすると、投稿画面で設定した文言だけが上手く出てくれません。

そこで、Headspace2の記載がある場合とない場合で、ifをかけます。


<?php $_headspace_metakey = post_custom("_headspace_metakey"); if ( empty( $_headspace_metakey ) ): ?><meta name="keywords" content="none"><?php endif; ?>
<?php $_headspace_description = post_custom("_headspace_description"); if ( empty( $_headspace_description ) ): ?><meta name="description" content="none"><?php endif; ?>

これで、キーワード、ディスクリプションがない場合のみ、metaタグが表示されるようになります。

content="none"の中身を適当に調整して、完了です(゚∀゚)

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (0)