Показать заголовки всех заметок блога

Слов в тексте – 282, время чтения в минутах – 2



Этот фрагмент кода для добавления через плагин Code Snippets позволит разместить заголовки заметок вашего блога на странице или в посте.


function display_all_posts_titles( $atts ) {
    // Extract shortcode attributes
    $atts = shortcode_atts(
        array(
            'number' => -1,        // Default is -1, meaning no limit
            'exclude' => '',       // Default is empty, no posts to exclude
        ),
        $atts,
        'all_posts'
    );

    // Convert the exclude string into an array of IDs
    $exclude_ids = array_map('trim', explode(',', $atts['exclude']));

    // Set up query arguments for all posts with the specified number limit, excluding sticky posts and specific posts
    $args = array(
        'post_type'           => 'post',
        'posts_per_page'      => $atts['number'], // Use the number specified in the shortcode
        'orderby'             => 'date',
        'order'               => 'DESC',
        'ignore_sticky_posts' => true, // Exclude sticky posts
        'post__not_in'        => $exclude_ids, // Exclude specific posts
    );

    // Query posts
    $query = new WP_Query( $args );

    // Begin output
    $output = '<br />';

    // Loop through posts and generate list items
    if ( $query->have_posts() ) {
        while ( $query->have_posts() ) {
            $query->the_post();
            $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li><br />';
        }
    } else {
        $output .= '<li>No posts found.</li>';
    }

    $output .= '';

    // Reset post data
    wp_reset_postdata();

    return $output;
}
add_shortcode( 'all_posts', 'display_all_posts_titles' );

Для активации этого фрагмента кода в заметке или на странице нужно разместить следующий шорткод:


[all _ posts number=10]

NB. Не забудьте убрать лишние пробелы в шорткоде. 10 можно поменять на любую цифру в зависимости сколько заголовков вы хотите показать, или вообще опустить – на странице появятся заголовки всех ваших заметок.

Вот три, к примеру:


 ⬇ Поделиться в соцсетях и мессенджерах



Популярные записи

Рубрики блога




newsbee Media