Head CleanerとAll in One SEO Packのタイトル設定を同時に使用する方法(WordPress)
このプラグインは役割を終えました。
凄い!と思ったWordPressプラグインにHead Cleanerプラグインがある。何が凄いかと言うとヘッダに出力されるJavaScriptファイルやcssファイルを自動的に連結し、かつ最小化をしてくれるのだ。しかしながらAll in One SEO Packのタイトル書き換え機能をONにすると正常動作しない。。。そこでAll in One SEO Packを利用しつつHead Cleanerを使用できるようにしてみた。
動かない理由はob_start()関数とob_end()関数絡みだと思われます。ob_関数は標準出力をバッファリングする関数です。All In One SEO Packのタイトル書き換えはob_関数を使用してヘッダ内のタイトルタグを発見し、タイトルを書き換えています。
だったらタイトルタグを普通に出力してやればいいじゃ無いか!!と思いAll in One SEO Packをぱくって、タイトルだけを出力するテンプレートタグ(プラグイン)を作成。
ダウンロード
使い方
- All In One SEO Titleプラグインを有効化
- テンプレートのタイトル出力部分を書き換える
- All in One SEO Packのタイトル書き換えのチェックボックスをオフにする
- Head Cleanerプラグインを有効化
この順序で間違いがなければ何事も無く改造が終了するはずだ。
テンプレート関数の使い方
以下を追加するだけです。タイトルタグも一緒に出力されます。それまでのtitleタグは削除してください。
<?php all_in_one_seo_title(); ?>
確認環境
- All in One SEO Pack 1.4.7.4
- Head Cleaner 1.1.0
All in One SEO Packから流用した箇所
All_in_One_SEO_Pack内のrewrite_title()メソッドの全て
改造箇所(備忘録)
- 初めにAll_in_One_SEO_Packが存在するかをチェック
- function名の変更(rewrite_title->all_in_one_seo_title)
- functionの引数を取らないように変更
- global宣言に$aiosp追加
- if (is_home()) { を if (is_home() || is_front_page()) {に変更
- $thisを$aiospに置換
- replace_title()メソッドを使用している行を削除
- is_404()で取得したタイトルを$titleに代入するように変更
- タイトルをechoする直前にstrip_tags
- 最後にretuenではなくecho ”.$title.”;するように変更
Head Cleanerを使いたくて仕方が無かったけどAll in One SEO Packから移行するのも面倒だったのでやっちゃいました。(汗
変更履歴
- v0.5.1 -> v0.5.2 最後にstrip_tags処理を追加
最後に
プラグイン作者の方々に感謝
あわせて読む
コメント投稿
5件のコメント
ども Head Cleaner 作者です。
表示順を変更できるようなオプションを付けたほうがいいでしょうかね?
次期バージョンで考えてみます。
ちなみに Ver.1.1.1 であれば head-cleaner.php の 575 ~ 587 行の順番を入れ替えてやることで、タグの表示順を変更することができます。
お好みの順番に並べ替えてください。
作者の方からコメントをいただけるとは。。。(汗
通常使用しているときの並び順が普通だったと記憶していたので、あまり考えず無理やりやったことでそうなったと思ってました(汗
自分の勘違いです。もし不愉快な思いをされたなら申し訳ありません。
ちとその部分だけ削除します。
勘違いに気が付いて恥ずかしい気持ちが強すぎて質問に答えていませんでした(汗
オプションにするとautoloadとは言え、ちこっと重くなりそうなので付けなくても良いかと思います。
軽くするためのプラグインですし。。。
いやいや、どんな些細なことでも要望頂けるとありがたいです。
現在、タグの並び順は
meta > title > base > link > style > script > object
になっています。
# object タグは、まず使う人は居ないでしょうが (^^;;;
この並び順は、完全に私の趣味で決めたモノなんで、特にいわれはありません。
XHTML に関してはシロウトも良い所なんで、おかしなところがあればガンガンご指摘ください。
link > style > scriptに並び変えしてくれるのがとても良いですよね。。。
以前、CSSを整形・省略・同じプロパティのものはまとめるものを作っていたのですが安定させるのに大変でした。今でも安定しているかと言うと不安です。安定してないかも?(汗
PHPじゃないのですが。。。
どんどん利用させていただきます。素晴らしいプラグインをありがとうございます。