私のホームページには、空のbody/post_contentの投稿を表示したくありません。だから私は私のfunction.phpに以下のコードを追加しました。空の本文の投稿を検出しますが、それでも表示します。 「」を返した場合、投稿は表示されません。
コード:
function remove_post_with_empty_body ( $posts ) {
if (($posts->post_content) == '') {
echo 'empty'; //also tried return false; and return null;
return '';
}
else {
echo 'not empty';
return $posts;
}
}
add_action('the_post', 'remove_post_with_empty_body');
まずコードではthe_post
フックを使用していますが、あなたの質問ではthe_posts
フックについて質問しています。これは2つの異なることです。
投稿がデータベースから選択された直後にthe_posts
が呼び出され、それがあなたの関数に$ postsの配列を渡すので、それを使うべきです。
the_post
フックに関しては、それは(通常)ループの中で起動されます。(リダイレクトのように)何かを変更するのは遅くなりますが、フィルタフックではありません。あなたの機能と結果に影響を与えません。