web-dev-qa-db-ja.com

オリジナルの順序でホームページに注目のコンテンツ投稿を保管する

おすすめの投稿を検索投稿から除外せずに ブログホームページ に保存する方法を探しています。私のブログは24テーマを使用しています。私はこの解決策を見つけました。

テーマのincフォルダから featured-content.php を開き、次のコードを探します(この場合は269行目)。

$query->set( 'post__not_in', $featured );

これを取得するには、その前に2つのスラッシュを追加して、この行をコメントアウトするだけです。

// $query->set( 'post__not_in', $featured );

しかし、ファイルにその行がなく、子テーマが親テーマのincフォルダーをオーバーライドすることはできません。

私は 別の解決策 を見つけました、そしてそれは機能します、しかし、問題はこのコードが彼らの元の順序ではなく特色にされた内容投稿を示すということです。古いコンテンツ投稿 - 私が注目記事を作成するためにスティッキー投稿を使用している - が注目されるようになると、注目コンテンツ投稿が最初の注文になり、次に他の投稿になります。

私はこのようなコンディショナルタグを使ってみました。

function show_featured_content_on_home() {
if ( !is_home() ) {
remove_action( 'pre_get_posts', array( 'Featured_Content', 'pre_get_posts' ) );
    }
}
add_action( 'init', 'show_featured_content_on_home', 31 );

2ページ目などは問題ありません - 注目の投稿を順番に表示します - しかしホームページにはまだ問題があります。

助言がありますか?

16
Naziman Azlye

私はあなたがWPQueryを使用できると思います

    $the_query = new WP_Query( array( 'post__in' => get_option( 'sticky_posts' )) ); ?>

    <?php if ( $the_query->have_posts() ) : ?>

        <!-- pagination here -->

        <!-- the loop -->
        <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>   
<h2><?php the_title(); ?></h2>
        <?php endwhile; ?>
        <!-- end of the loop -->

        <!-- pagination here -->

        <?php wp_reset_postdata(); ?>


    <?php endif; ?>

そしてあなたの投稿を注文するためにあなたはorder/orderbyを使うことができますreference https://codex.wordpress.org/Class_Reference/WP_Query

1
Taj Khan