ユーザーがテキストの段落を入力できるようにする必要があるページがあります。次に、そのテキストの後に、投稿のリストをレンダリングするショートコードを挿入し、その後に自由形式のテキストを追加します。私の考えでは、投稿を出力するショートコードを挿入できるはずです。このようにして、投稿を表示したい場所にショートコードを追加するだけです。
私は現在、独自のファイルで区切られた投稿を取得するロジックを持っています。現在、get_template_part()
関数を使用するだけでページに含めています。
get_template_part('donation', 'posts');
ショートコードの作成方法を調べ、ショートコードfunctions.php
を作成するために次のコードをファイルに含めました。
add_shortcode('donation-posts', 'fnDonatePosts');
function fnDonatePosts($attr, $content)
{
get_template_part('donation', 'posts');
}
が適切に実行され、投稿が表示されますdonation-posts.php
が、ショートコードが配置された場所ではなく、常にコンテンツの前に配置されます。
関数を削除して、get_template_part()
テキストを出力するだけで問題なく動作しました。したがって、get_template_part()
これが正しい方法ではない可能性があることは理解していますが、私がやろうとしていることを実行する方法を見つけることができませんでした (方法があると確信しています...見つかりませんでした)。
私が試してみました:
include(get_template_directory(). '/donation-posts.php');
include_once(get_template_directory(). '/donation-posts.php') :
しかし、インクルードされたファイルの PHP コードにヒットすると、これらは処理を停止しました。
私も試しました:
$file = file_get_contents(get_template_directory(). '/donation-posts.php');
return $file;
ただし、これは (関数名が示すように) ファイルの内容のみを返します。つまり、投稿を返すために PHP スクリプトを実行しません。
以前にこれをやった人はいますか?