Ksenia Titova

Как создать шорткод последних записей?

Loading

Добавьте следующий код в functions.php вашей темы:

function wpschool_recent_posts_shortcode( $atts, $content = null ) {
    global $post;
    extract( shortcode_atts( array (
       'cat'     => '',
       'num'     => '5',
       'order'   => 'DESC',
       'orderby' => 'post_date',
    ), $atts ));
    
    $args = array(
       'cat'            => $cat,
       'posts_per_page' => $num,
       'order'          => $order,
       'orderby'        => $orderby,
    );

    $output = '';
    $posts = get_posts( $args );

    foreach( $posts as $post ) {
       setup_postdata( $post );
       $output .= '<li><a href="'. get_the_permalink() .'">'. get_the_title() .'</a></li>';
    }

    wp_reset_postdata();
    return '<ul>'. $output .'</ul>';
}
add_shortcode( 'recent_posts', 'wpschool_recent_posts_shortcode' );

 

Чтобы добавить последние публикации в пост или страницу, вставьте в нужном месте шорткод:

[recent_posts num = "5" cat = "7"]

В итоге появится список из 5 записей из категории с ID=7. Вы можете настроить атрибуты по своему желанию. Шорткод также принимает несколько других атрибутов:

[recent_posts num = "10" cat = "" order = "asc" orderby = "rand"]

Теперь список будет включать 10 записей из любой категории, упорядоченных случайным образом и отображаемых в порядке возрастания.

 

Больше функций вывода данных поста здесь https://gist.github.com/raamdev/8550578

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *