前記で、「SearchRegexを使って不要なショートタグを削除・置換」の記事をお伝えしましたが、データベース自体を編集したくない場合や、不要と思えるショートタグを復活する可能性がある場合に、残しておくと言う選択もあるかと思います。
functions.phpにて文字置き換え
ここでは、テーマのfunctions.phpにて、文字の置き換えを行う方法をメモしておきます。
(私もつい最近、Cocoonテーマへ変更するまでは利用していました。)
以前にAmazonの商品リンクをショートタグで記載できるWP-tmkm-amazonと言うプラグインを利用していましたので、これを例にとって説明させていただきます。
WP-tmkm-amazonプラグインのショートタグは、[tmkm-amazon]ASINコード[/tmkm-amazon] の記述でした。
Cocoonテーマでは、標準でAmazonのショートタグが搭載されているので、[tmkm-amazon]のショートタグを消して、ASINコードをそのままCocoon用のショートタグに引き継ぎたい。
つまりは、下記のように置き換えると言う意味です
↓
[amazon asin=”ASIN”]
関数
テーマ内のfunctions.phpに下記のようなコードを追記します。
function replace_text_tmkm($text){ $replace = array( '[tmkm-amazon]' => '[amazon asin="', '[/tmkm-amazon]' => '"]', ); $text = str_replace(array_keys($replace), $replace, $text); return $text; } add_filter('the_content', 'replace_text_tmkm');
説明
replace_text_tmkmの関数名は任意で構いません
$replaceの配列では、’置換前のタグ’ => ‘置換後のタグ’を開始タグと終了タグをそれぞれ記述します。
赤文字で記載している[]は、半角のまま記述するとショートタグが有効になってしまうため、あえて全角で記述してあります。コピペする際には半角へ変更してください。
これを応用すると、データベースを直接編集することなく、データベース内の文字の置き換えが自由に出来るので、覚えておくと良いかもしれません。(ただし、置き換えの作業が入るので、ページの読み込み速度は落ちるかと思います)
注意
functions.phpを編集することによって、細かくカスタマイズ出来たりして便利な分、コードのタイプミスや全角が入ったり、プログラムを間違えたりすると、WordPressの画面が真っ白になるなど、エラーで表示すら出来ないことが多々あります。
最後に、今回の関数プログラムは見よう見まねで作成したものですので、ご利用の際は、くれぐれも自己責任で行ってくださいね。(当方では一切責任を負いかねます)
コメント