The current article

WordPressで、タイトルや本文のテキストを少しのコードで置換(変換)・削除する方法

複数ページの同じ文字列を置換したい時、修正する作業って大変ですよね。
プラグインも紹介しますが、少しのコード(プラグインなし)で一括置換する方法を書き留めておきます。

replace1

capture

準備

まずはバックアップを。
一度変換した後は元に戻せないと思って、注意して使用してください!

PHP

例えばタイトルの一部を削除・変換したい場合

<?php
	$title = get_the_title();								//タイトルを取得
	$title = str_replace('テキスト', '', $title);			//「テキスト」を削除
	$title = str_replace('(文字列)', 'てきすと', $title);	//「(文字列)」を「てきすと」に変換
?>

こんな感じです。
3行目のように第2引数を空にすると削除されますし、
文字を入れると変換されます。

記事文中の文字列を変換するなら、
2行目の取得する部分を

$title = get_the_content();

に変えれば、記事内のテキストも置換できるかと思います。

functions.phpに書く方法

Kachibito.netさんが書いてくださってます。


function change_any_texts($text){
	$replace = array(
		//'変更前' => '変更後',
		'編集' => '<a href="#">編集</a>',
		'削除' => '<strong>削除</strong>'
	);
	$text = str_replace(array_keys($replace), $replace, $text);
	return $text;
}
add_filter('the_content', 'change_any_texts');

4・5行目のように適宜変更してみてください。

上記は「the_content」(投稿コンテンツ)にフックしています。
違う場所の文字列を変えたい場合はフィルターフック一覧を参照して、
10行目の第1引数を変更すると使えるんじゃないでしょうか。
例えばタイトルの場合だと、

add_filter('the_title', 'change_any_texts');
ですかね。

functions.phpを触っても怖くない人はコチラの方がスマートかもですね^^;

プラグインを使う選択

「Serch Regex」というプラグインがあります。
検索すれば、色々ヒットしますので、説明は割愛で・・・
本文・カスタムフィールド・タイトル・URLなどなど、対象の場所を指定して置換えできるようですー

以上を使うと、修正時間をかなり短縮出来るのではないでしょうかー
すべての方法において、指定した全てのテキストを置換してしまうので気を付けてください!ご利用は自己責任でお願いします!


Category

Service

Guidance

Salutation

WPCは大阪を中心に、ホームページ制作、リニューアル、コーディング、更新業務、各種印刷物制作、スキルアップ出張講習・セミナー等取り扱っております。
どこの会社に作成を依頼しようかとお悩みの方、リニューアルしたいんだけど良いプランはないかなとお探しの方、本格派のデザイナーにデザインを依頼したい、 コーディングだけ頼みたい、更新だけ頼みたい、パソコンやソフトの使い方を教えて欲しいなど、どんな事でもWPCまでお気軽にご相談ください。