ホーム > タグ > meta
meta
metaタグのGenerator消し方【WordPress】
- 2010-08-26 (木)
- wordpress
コアファイル変更しなくても、プラグインを入れなくても、消せる方法。
まずは、もとのある場所
wp-includes/default-filters.php の
// Actions add_action( 'wp_head', 'wp_generator' );
の後に
remove_action('wp_head', 'wp_generator');
を追記することで消えます。
だけど、このファイルを直接さわったら面倒じゃーん。
ということなので、
テーマのfunction.phpに書き加えます!
<?php remove_action('wp_head', 'wp_generator'); remove_action('wp_head', 'rsd_link'); remove_action('wp_head', 'wlwmanifest_link'); ?>
ってなかんじです。
remove_action(‘wp_head’, ‘rsd_link’);
これはiPhoneなどで投稿する時に使うらしい。使わない場合は上記のようにして消すことが可能。
remove_action(‘wp_head’, ‘wlwmanifest_link’);
これはWindows Live Writer を使ってブログ投稿する時に使うらしい。使わない場合は上記のようにして消すことが可能。
ただ、これだとfeedのgeneratorは消えないんだよなー。
アーカイブページのmetaタグのtitleに親カテゴリ名と子カテゴリ名を入れたい【WordPress】
- 2010-07-22 (木)
- wordpress
やりたかったこと。
ファイル:header.php
カテゴリーページのmetaタグのtitleに親カテゴリ名と子カテゴリ名を入れたい。
ただ、うまくいかなくて、まわりまわって結局簡単なことじゃん…
ってなったわけだけど、その考えた経緯を含めメモしておこう。
他で使うかもしれないし…
同じように困っている人もいるかもしれないし…
とにかく、メモメモ!
今回、カテゴリは下記のようなかんじ。
- たのしい(5)
- お知らせ(3)
- できごと(2) - かなしい(3)
- お知らせ(1)
- できごと(2)
のようになっている。
カテゴリは必ず「お知らせ」か「できごと」に属し、「たのしい」か「かなしい」を親カテゴリにもつ。
親カテゴリの「たのしい」に直接属することはない。
まず、基本的には下記でいいはず。
wp_title( '' ); echo '|'; bloginfo( 'name' );
だが、これだと
お知らせ|ブログタイトル
ってなる。でもほんとは、
たのしいお知らせ|ブログタイトル
って見せたい。
ということは、親カテゴリのカテゴリ名の取得が必要だ。
下記で親カテゴリを吐き出すことに成功。
$cat = get_the_category(); $cat = $cat[0]; $parent = get_category($cat->category_parent); $parent_catname = $parent->cat_name; echo $parent_catname;
※親カテゴリのID
$cat->category_parent;
ということは…
$cat = get_the_category(); $cat = $cat[0]; $catname = $cat->cat_name; $parent = get_category($cat->category_parent); $parent_catname = $parent->cat_name; echo $parent_catname .$catname .' | '; bloginfo( 'name' );
これで、
たのしいお知らせ|ブログタイトル
になったー!!
と、よろこんだのも束の間、問題発見。
「お知らせ」のアーカイブの時はいいのだが、「たのしい」のアーカイブでも
たのしいお知らせ|ブログタイトル
となってしまう。
うーーん…
<?php $cat = get_the_category(); echo(get_category_parents($cat[0]->cat_ID, TRUE, '')); if (is_null($cat[1])){ }else { echo '|'.(get_category_parents($cat[1]->cat_ID, TRUE, '')); } ?> ってしてみたり、 <?php $cat = get_the_category(); echo(get_category_parents($cat[0]->cat_ID, TRUE, '')); if ($cat[1]!=""){ echo '|'.(get_category_parents($cat[1]->cat_ID, TRUE, '')); } ?>
ってしてみたり…
なんか子カテゴリの値調べたりとか親カテゴリ調べたり、is_nullとか使ってみたり、っていうか空じゃないときをどうかいたらいいか分かんなくなってみたり、だんだん混乱してきたのでここはひとつ冷静に!
get_category_parentsは始めに試してうまくいかなかったっけ…
って、まわりにまわって再びget_category_parentsにたどりつく。
とりあえず、もう一度、冷静に。
echo (get_category_parents($cat, false, ' ') .'| '); bloginfo( 'name' );
おぉーーーーー!!!でるじゃんか!!
たのしいお知らせ | ブログタイトル
いぇーい!
「たのしい」のアーカイブは?
たのしい | ブログタイトル
出る!!いぇーーい!!
echo (get_category_parents($cat, true, '» ') .'| '); bloginfo( 'name' );
みたいにすると、
各カテゴリーへのリンクを出力するのでタイトルでは使えない。
» はセパレータ。自由に設定!
よって、今回のmetaタイトルのアーカイブの条件分岐は
if ( is_category() ) { echo (get_category_parents($cat, false, '') .'| '); bloginfo( 'name' ); }
となった。
あー、、、長かった…
あー、単純なことだった…
でもまぁとにかく、解決できてよかった。
最後にget category parentsについてメモ。
書式
<?php echo(get_category_parents(category, display link, separator, nice name)); ?>
ループ内・外 で使用可能
引数
category (整数/$cat)
親カテゴリーを取得するカテゴリーのID。デフォルト値は「$cat」で、現在表示しているカテゴリーページ/記事のカテゴリーID。
display link (true/false)
各カテゴリーへのリンクを出力するかどうか。
true(デフォルト。リンクを出力する)
false(デフォルト。リンクを出力しない)
separator (文字列)
リンクの間を区切る記号やテキスト。デフォルト値は「»」。
nice name (true/false)- カテゴリー・スラッグを名前として使うかどうか。
true(デフォルト。英数字小文字のみのカテゴリー・スラッグを出力)
false(デフォルト。大文字や記号、日本語を使ったカテゴリー名を出力)
コード記述例
<?php echo(get_category_parents($cat, true, ' » ')); ?>
【関連Codex】
Home > タグ > meta