私はWordpressプラグインを書くのが真新しいので、はじめに、文字列を変更するだけの簡単なものを作成しようとしています。私は少し前にスクリプトを書きました、そしてそれが機能することを知っています。しかしWordpressのためにそれを使用するために私は投稿のタイトルにそれを適用したいです。文字列を関数 "get_the_title()"に置き換えると、白い画面が返されます。私はそれを取り除いた:
function display_title() {
echo get_the_title();
}
add_action("the_title", "display_title");
これはまだ白い画面を返します。だから私はそれが "get_the_title()"関数でなければならないと思う。なぜこれがうまくいかないのか、おそらくタイトル文字列を取得する別の方法が私に説明できますか?
回答:
回答№1は4ジョンが言うように the_title
あなたの関数が、アクションフックではなくフィルタです。 意志 登録したかどうかにかかわらず呼び出される add_filter
または add_action
.
あなたの問題はあなたの機能をフィルタで値を返すことが期待されています(通常渡された引数の修正版)。したがって、このフィルタを使用してタイトルを変更するには、次のようにします。
function display_title($title) {
$title .= "!"; // Do something with the title string here
return $title;
}
add_filter("the_title", "display_title");
回答№2の場合は1
さて、1つのことは、 "the_title"は行動ではなく、それはフィルタなので、その関数は決して起動しません。それはその関数のせいではありません、それはおそらく他の何かです。私はプラグインAPIを読み、アクションとフィルタの違いを学ぶことをお勧めします。フィルタは、あなたが望むことを簡単な方法で行えるように特別に設計されています。
http://codex.wordpress.org/Plugin_API/