1

WordPressブログを使用していて、データベースに何も追加せずに投稿を表示したいと思います。私が言いたいのは:

ページが読み込まれたときに投稿を生成し、ホームページに追加します。機能を検索して見つけましwp_insert_post()たが、データベースにも追加されます。PHPでこれを行うにはどうすればよいですか?

例: クエリによって生成された投稿配列があります。ページが読み込まれる前にこの配列に投稿を挿入するにはどうすればよいですか?

私は自分の考えを明確にしたいのです。これが私が欲しいものを段階的に示しています。

* 1) *次のような配列を生成しています$ arr ['title] = "my title"、$ arr ['content'] = "my content"、

* 2) * WPはデータベースにクエリを送信し、投稿は正しいですか?そして、テーマとメインページに表示する配列がありますか?この時点で、外部配列(ステップ1で生成された)をこの配列(クエリを介してWPによって生成された)に追加したいと思います

3)このようにして、データベースに投稿せずに投稿を追加できるようになります。

4

2 に答える 2

2

仮想投稿をテーマ テンプレートの 1 つに未加工の HTML として追加するだけです。

または、冒険したい場合は、メインのクエリ結果を変更して、投稿を含めることができます。

add_action('loop_start', function($query){

  // create the post and fill up the fields
  $post = new WP_Post((object)array(
    'ID'           => -1,
    'post_title'   => 'Bla blah',
    'post_content' => 'Your content',
  ));

  // add it to the internal cache, so WP doesn't fire a database query for it
  // -1 is the ID of your post
  if(!wp_cache_get(-1, 'posts'))
    wp_cache_set(-1, $post, 'posts');

  // prepend it to the query
  array_unshift($query->posts, $post);
});
于 2013-01-22T14:18:14.423 に答える