phpでメタデータ、メタディスクリプションの文字置換を行うには? - PHPプロ!Q&A掲示板

4932

  • 募集中!! 0P

phpでメタデータ、メタディスクリプションの文字置換を行うには?

質問日時 / 2018年3月23日 01:18    回答数 / 1件

Questioner:  yokaku  このエントリーをはてなブックマークに追加 

キーワード / meta    keywords    description   

wordpressにおいてfunction.phpに以下のコードを記述し、文字の置き換えを行っています。
記事やタイトルは置き換えることができましたが、メタキーワードやメタディスクリプションを置き換えるコードが分かりません。以下の「ここが分かりません」と記載された部分のコードを教えていただけないでしょうか。
尚、wordpressのテンプレートは賢威7を使用しています。
宜しくお願いいたします。

  1. // 文字置換 始まり
  2. function change_any_texts($text){
  3. $replace = array(
  4. //'変更前' => '変更後',
  5. '題名' => (get_post_meta( get_the_ID(), 'book_name', true )),
  6. '作者' => (get_post_meta( get_the_ID(), 'book_tabetabe', true )),
  7. '価格' => (get_post_meta( get_the_ID(), 'book_price', true )),
  8. );
  9. $text = str_replace(array_keys($replace), $replace, $text);
  10. return $text;
  11. }
  12. add_filter('the_content', 'change_any_texts');// 記事の文字を置き換える
  13. add_filter('the_title', 'change_any_texts');// タイトルの文字を置き換える
  14. add_filter('ここが分かりません', 'change_any_texts');// メタキーワードの文字を置き換える
  15. add_filter('ここが分かりません', 'change_any_texts');// メタディスクリプションの文字を置き換える
  16.  
  17. // 文字置換 終わり

賢威7のheader.php内にメタキーワード゙やメタディスクリプションに関する下記部分がありました。
この辺りを含め考えると良いのでしょうか?

  1. <title><?php title_keni()?></title>
  2.     <meta charset="UTF-8">
  3.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  4.   <?php if ( the_keni( 'mobile_layout' ) == "y" ) { ?>
  5.         <meta name="viewport" content="width=device-width, initial-scale=1.0"><?php } ?>
  6.  
  7.   <?php if ( ! the_keni( 'view_meta' ) ) { ?>
  8.     <?php if ( the_keni( 'view_meta_keyword' ) && the_keni( 'view_meta_keyword' ) == "y" ) { ?>
  9.             <meta name="keywords" content="<?php keyword_keni()?>">
  10.     <?php } ?>
  11.     <?php if ( the_keni( 'view_meta_description' ) && the_keni( 'view_meta_description' ) == "y" ) { ?>
  12.             <meta name="description" content="<?php description_keni()?>">
  13.     <?php }
  14.   } elseif ( the_keni( 'view_meta' ) == "y" ) { ?>
  15.         <meta name="keywords" content="<?php keyword_keni()?>">
  16.         <meta name="description" content="<?php description_keni()?>">
  17.   <?php }
  18.   wp_enqueue_script( 'jquery' );
  19.   if ( get_option( 'blog_public' ) != false ) {
  20.     echo getIndexFollow();
  21.   }

上記の内容を踏まえ次のコードで出力するか試しましたがダメでした。
  1. add_filter('keyword_keni', 'change_any_texts');
  2. add_filter('description_keni', 'change_any_texts');


ツリー一覧

回答一覧

並び替え:

A01
answerershimix [3月23日 07:26] (最終編集:3月23日 10:21)

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)