Как отобразить последние сообщения, добавленные в пользовательские типы записей.

Вопрос или проблема

Я пробовал код, опубликованный здесь >>Custom Post Type: Get most recent permalink

Но дело в том, что он показывает только одну запись из последних и без get_the_title,,, может кто-то помочь мне получить до 10 заголовков и постоянных ссылок для пользовательского типа записи.

Я гуглю уже около 1 часа.. Пожалуйста, помогите кто-нибудь

Ответ, по сути, в Codex!

<h2>Недавние записи</h2>
<ul>
<?php
    $recent_posts = wp_get_recent_posts(array('post_type'=>'book'));
    foreach( $recent_posts as $recent ){
        echo '<li><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> </li> ';
    }
?>
</ul>

Единственное, что я сделал, это добавил аргумент для поиска типа записи book вместо стандартного типа post.

И это, вероятно, дубликат этого вопроса, но система не позволяет мне отметить его как таковой.

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

$args = array(
    'post_type' => 'your-custom-post-type',
    'orderby' => 'date',
    'order' => 'DESC',
    'posts_per_page' => 10
     );
$query = new WP_Query( $args ); 

Вы можете использовать этот код, чтобы получить последние записи

$recent_posts = get_posts(  array( 'posts_per_page' => 1, 'orderby'  => 'post_date', 'order'=> 'DESC', 'post_type' =>  array('camp','cruise','competition','combine')));

Также можно добавить этот код. Необходимо добавить ‘post_status’ => ‘publish’ в код массива.

<?php
$recent_posts = wp_get_recent_posts(array('numberposts' => 100, 'post_status' => 'publish', 'post_type'=>'book'));
foreach( $recent_posts as $recent ){
    echo '<a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' .   $recent["post_title"].'</a> ';
}?>

Ответ или решение

Конечно. Если вы являетесь разработчиком WordPress и стремитесь отобразить до 10 последних записей, добавленных в пользовательские типы записей, необходимо воспользоваться несколькими методами, представленными в сообществе. Вот как можно это сделать, используя различные подходы и методы, наиболее подходящие для вашей ситуации:

Использование функции WP_Query

Для гибкого и мощного метода получения последних записей, рекомендую использовать функцию WP_Query. Она позволяет точно указать, какие записи вас интересуют:

$args = array(
    'post_type'      => 'ваш_пользовательский_тип_записей', // Укажите ваш тип записей
    'orderby'        => 'date', // Упорядочивание по дате
    'order'          => 'DESC', // В порядке убывания
    'posts_per_page' => 10, // Количество записей
    'post_status'    => 'publish', // Только опубликованные
);
$query = new WP_Query( $args );

if ( $query->have_posts() ) {
    echo '<ul>';
    while ( $query->have_posts() ) {
        $query->the_post();
        echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    }
    echo '</ul>';
    wp_reset_postdata(); // Сброс основного запроса
}

Использование функции wp_get_recent_posts

Если ваш сценарий просто требует вывести несколько последних записей одного типа, функция wp_get_recent_posts может быть полезна:

$recent_posts = wp_get_recent_posts(array(
    'numberposts' => 10,
    'post_status' => 'publish', 
    'post_type'   => 'ваш_пользовательский_тип_записей'
));

echo '<ul>';
foreach( $recent_posts as $post ){
    echo '<li><a href="' . get_permalink($post["ID"]) . '">' . esc_attr($post["post_title"]) . '</a></li>';
}
echo '</ul>';

Использование функции get_posts

Эта функция представляет собой упрощенную версию WP_Query и может быть использована для быстрого получения списка записей:

$recent_posts = get_posts(array(
    'posts_per_page' => 10,
    'orderby'        => 'post_date',
    'order'          => 'DESC',
    'post_type'      => 'ваш_пользовательский_тип_записей',
    'post_status'    => 'publish'
));

echo '<ul>';
foreach ( $recent_posts as $post ) {
    setup_postdata( $post );
    echo '<li><a href="' . get_permalink($post->ID) . '">' . get_the_title($post->ID) . '</a></li>';
}
wp_reset_postdata();
echo '</ul>';

SEO и Контекст

При создании отзывчивого к SEO контента, определитесь, какие ключевые слова являются важными для вашего сайта. В данном коде, более детальная информация, например, добавление описания или мета-тегов, может быть полезной. Кроме того, убедитесь, что ссылка на записи правильно индексируются через мета-теги и семантические заголовки, улучшая UX и SEO.

Этот подход детализирован и дает вам разнообразие в способах получения последних записей из пользовательских типов записей, обеспечивая как гибкость, так и производительность. Обязательно выбирайте подход, который наиболее полно отвечает вашим бизнес-требованиям и предпочтениям в разработке.

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

Капча загружается...