Intereting Posts
пользовательские переменные сеанса теряются в FF Не удается выполнить вывод do_settings_sections. Не могу понять, почему Переход от последней ночной сборки к последней стабильной версии Можно ли удалять поля YOAST SEO из пользовательского типа сообщений Удалите всех подписчиков из wp_users и wp_usermeta несколько тысяч за раз Как я могу сортировать категории по ID получение страницы 404 для всех страниц, кроме дома. возможно постоянная ссылка добавить JS к нескольким страницам администрирования плагина Подсчитайте количество сообщений в таксономии? Настройка WordPress для кеширования Amazon CloudFront? Как рассчитывается сила пароля? Использование прямого вызова базы данных без ошибки кэширования Каков наилучший способ сделать ошибку и успешную обработку MyAjax? Вставка собственного скрипта PHP на домашнюю страницу Как отключить доступ к страницам категорий

Как создать отображаемый индекс сообщений в определенной категории

У меня есть технический блог, я хочу создать индексную страницу для статей в определенной категории. Например, я хочу, чтобы все статьи под категорией «WordPress BasiX» были размещены в индексе (предпочтительно, предпочтительно) на одной странице. Есть ли способ сделать это в WordPress? Помоги пожалуйста. Моя версия WordPress – 3.4.2

Solutions Collecting From Web of "Как создать отображаемый индекс сообщений в определенной категории"

Существует несколько способов достижения этого: настраиваемый шаблон, обменный код или короткий код. Во всех случаях вы, вероятно, будете использовать get_posts() или WP_Query для извлечения сообщений и некоторого метода для определения категории. Следующий пример кода иллюстрирует это с помощью короткого кода.

Основное использование

Вы просто пишете короткий код в редакторе сообщений на странице или в блоге:

[posttable catname="Uncategorized"]

введите описание изображения здесь

Код

В плагине вы регистрируете короткий код и вы создаете функцию для возврата вывода. Имейте в виду, что короткий код всегда просто возвращает строку, он не использует echo или print .

 <?php /* Plugin Name: T5 Post Table Shortcode * Description: Create a table of post with: <code>[posttable catname="category-name"]</code>. */ add_shortcode( 'posttable', 't5_posttable_shortcode' ); /** * Create a table with all post from a category. * * @param array $attr * @return string */ function t5_posttable_shortcode( $attr ) { $defaults = array ( 'catname' => FALSE, /* table attributes */ 'class' => FALSE, 'id' => FALSE, /* name of a registered script to enqueue in the footer if * results are found. */ 'script' => FALSE, 'order' => 'DESC', 'orderby' => 'date' ); extract( shortcode_atts( $defaults, $attr ) ); $get_posts_args = array ( 'numberposts' => -1, 'order' => strtoupper( $order ), 'orderby' => $orderby, 'post_type' => 'post' ); if ( $catname and $category = get_term_by( 'name', $catname, 'category' ) ) { $get_posts_args['cat'] = $category->term_id; } if ( ! $posts = get_posts( $get_posts_args ) ) { return '<!-- nothing found -->'; } $out = '<table'; $class and $out .= " class='$class'"; $id and $out .= " id='$id'"; $out .= '><thead><tr><th scope="col">' . __( 'Name' ) . '</th><th scope="col">' . __( 'Date' ) . '</th><th scope="col">' . __( 'Comments' ) . '</th></tr></thead><tbody>'; $dateformat = get_option( 'date_format' ); foreach ( $posts as $post ) { $out .= sprintf( '<tr><td><a href="%1$s">%2$s</a></td><td>%3$s</td><td>%4$d</td></tr>', get_permalink( $post->ID ), get_the_title( $post->ID ), get_the_time( $dateformat, $post->ID ), get_comments_number( $post->ID ) ); } $script and wp_enqueue_script( $script ); return "$out</tbody></table>"; } 

Это очень грубо; Я только что набросал его поспешно. Вы должны зарегистрировать имя сценария отдельно, если вам нужен какой-то сортировщик таблиц ( jQuery tablesorter хорош).
Чтобы понять другие параметры, прочитайте документы для WP_Query .

Чтобы использовать выдержку или эскиз, просто добавьте …

 apply_filters( 'get_the_excerpt', $post->post_excerpt ) 

… или …

 get_the_post_thumbnail( $post->ID ) 

… где вам это нужно.

Например, например:

 get_the_title( $post->ID ) . get_the_post_thumbnail( $post->ID ) . apply_filters( 'get_the_excerpt', $post->post_excerpt ) 

Результат

В TwentyEleven это выглядит так:

введите описание изображения здесь

Идентификаторы параметров и class должны обеспечивать достаточную гибкость для настройки стилей. 🙂