2017-02-15 1 views
2

私はBeThemeを実行していますが、カスタムの投稿タイプを追加しました。 index.php上で、私は定期的な投稿と私が作成したカスタム投稿の種類の両方から "最新ニュース"を引き出す必要があります。私はindex.phpが自分の投稿と私のカスタム投稿の両方のタイプから引っ張るようにどのように設定できるのか分かりません。私のテーマで

、index.phpのは、このファイルの10行目から始まるセクションでは、このテンプレートファイルから関数からhttps://github.com/pingram3541/betheme/blob/master/includes/content-post.php

を引っ張っている。

if(! function_exists('mfn_content_post')){ 
function mfn_content_post($query = false, $style = false, $images_only = false){ 
    global $wp_query; 

私は私かなり確信しています$args変数$wp_queryarray('post_type' => array('post')'latest-news'を持っているように引っ張っているが、これがすべてでさえ正しいアプローチであれば、私はこれを見つけることがどこか分からない、または何でも変更する必要があります。

EDIT:

function add_custom_post_type_to_query($query) { 
    if ($query->is_home() && $query->is_main_query()) { 
     $query->set('post_type', array('post', 'latest-news')); 
    } 
} 
add_action('pre_get_posts', 'add_custom_post_type_to_query'); 

そして、これは動作しませんでした:私は以下のコードを追加してみました functions.phpへ。ファイルの

+1

これは正しいアプローチです。あなたの新しいクエリでは、通常の投稿だけでなく、カスタム投稿の種類だけを検索しますか? –

+0

両方。理想的には、「投稿」と「最新ニュース」の両方の投稿タイプから取り出し、日付順にソートします。 – user3183717

答えて

1

ライン21:

if(! $query) $query = $wp_query; 

が、これはそれが予期しない結果が生じる可能性がある時間に応じて、動作するかどうか、私に教えてください

$args=[ 
'post_type' => ['post', 'latest-news'], 
]; 
if(! $query) $query = new WP_Query($args); 

にそれを編集してみてください。

+0

それは動作しませんでした、それはサイトを壊した。 は、あなたの答えに触発され、私のような行を変更してみました: '$ argsを[ 'post_type'] = ' "ポスト"、 "最新ニュース"'; \t \t $クエリ=新しいWP_Query($ argsを)IF($クエリ!); ' も動作しませんでした、それはサイトを破るませんが、ちょうどそれが無いの記事表示するようになります。 – user3183717

+1

'I]は後にセミコロンを逃し、[=> [「ポスト」「post_type」、「最新ニュース」]] $のargs =にそれを変更してみてください;'これはサイトを壊すか、それは何も –

+0

を変更した場合、私に教えてください働いた!ありがとう!私もそのエラーをキャッチしたはずですが、本当にありがとうございます。 – user3183717

関連する問題