Добавление, обновление и поиск постов
В wp много глобальных параметров и функций, которые их используют. Это информация по запрошенной записи, странице, так называемый контекст. Можно переводить вордпресс в любой контекст.
Для выбора записей есть класс WP_Query
. Можно выбирать записи по различным параметрам. Перебирая записи в коллекции можно переключать вп на соответствующий контекст используя функцию the_post()
. После цикла необходимо вернуть тарый контекст wp_reset_postdata()
// The Query
$the_query = new WP_Query( $args );
// The Loop
if ( $the_query->have_posts() ) {
echo '<ul>';
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
Если глобальный контекст не нужен, можно использовать функцию get_posts
. Она возвращает массив объектов. Метод использует WP_Query
.
// Свойства записи
{
"ID":39,
"post_author":"4",
"post_date":"2015-07-15 13:00:30",
"post_date_gmt":"2015-07-15 09:00:30",
"post_content":"",
"post_title":"\u0410\u043d\u043a\u0435\u0442\u0430 dfsa . sdfsdfs",
"post_excerpt":"",
"post_status":"publish",
"comment_status":"open",
"ping_status":"open",
"post_password":"",
"post_name":"anketa-dfsa-sdfsdfs",
"to_ping":"",
"pinged":"",
"post_modified":"2015-07-15 13:00:30",
"post_modified_gmt":"2015-07-15 09:00:30",
"post_content_filtered":"",
"post_parent":0,
"guid":"http:\/\/afs.dev\/afs_survey\/anketa-dfsa-sdfsdfs\/",
"menu_order":0,
"post_type":"afs_survey",
"post_mime_type":"",
"comment_count":"0",
"filter":"raw"
}
// Параметры по умолчанию
$args = array(
'posts_per_page' => 5,
'offset' => 0,
'category' => '',
'category_name' => '',
'orderby' => 'date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'post',
'post_mime_type' => '',
'post_parent' => '',
'author' => '',
'post_status' => 'publish',
'suppress_filters' => true
);