Зберігайте пропоновану публікацію вмісту на домашній сторінці в оригінальному порядку


17

Я шукаю, як зберегти представлену публікацію на домашній сторінці свого блогу, не виключаючи її із запиту. Мій блог використовує тему «Двадцять чотирнадцять». Я знайшов це рішення.

Відкрийте Featured-content.php у папці inc теми, і шукайте наступний код (рядок 269 у нашому випадку).

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

Просто прокоментуйте цей рядок, додавши дві косі риски перед ним, щоб отримати це:

// $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 );

Друга сторінка та інше гаразд - покажіть пропоновані публікації по порядку - але на домашній сторінці все ще є проблеми.

Будь-які пропозиції?


Я думаю, що у мене є відповідь. Щоб це працювало, для створення популярного вмісту потрібно використовувати тег "Популярний", ніж використовувати клейку публікацію. Тож рішення правильне, і я неправильно розумію і даю неправильне запитання. Умовний тег ви можете видалити, оскільки код функціонує без умовних тегів.
Naziman Azlye

1
Я знаю, що це досить пізно, але ви б проти зауважити, як додати вищезазначений коментар? Це питання має досить багато результатів, а правильна відповідь робить його більш очевидним. Спасибі заздалегідь!
kraftner

Відповіді:


1

Я думаю, ви можете використовувати 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; ?>

а для замовлення вашої публікації ви можете скористатися замовленням та orderby, див. посилання https://codex.wordpress.org/Class_Reference/WP_Query

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.