Last active
July 27, 2018 01:27
-
-
Save levnhub/aa815249638bf2873df09e6208bf946b to your computer and use it in GitHub Desktop.
wp loops
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php // Выводим посты | |
global $post; // не обязательно | |
// параметры по умолчанию | |
$args = array( | |
'numberposts' => 5, // 5 записей | |
'category' => 9, // из рубрики 9 | |
'orderby' => 'date', | |
'order' => 'DESC', | |
'include' => array(), | |
'exclude' => array(), | |
'meta_key' => '', | |
'meta_value' => '', | |
'post_type' => 'post', | |
'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса | |
); | |
$myposts = get_posts( $args ); | |
foreach( $myposts as $post ){ setup_postdata($post); | |
// стандартный вывод записей | |
} | |
wp_reset_postdata(); // сбрасываем переменную $post | |
?> | |
<?php | |
// Получить данные рубрик, в том числе и без записей, у которых родительская рубрика с ID = 6 | |
$cat_data = get_categories( array( 'parent' => 4 ) ); | |
// Если подрубрики нашлись - начинаем их обработку | |
if ( $cat_data ) { | |
foreach ( $cat_data as $one_cat_data ){ | |
// Возвращает название подрубрики в виде ссылки | |
$block_cats = sprintf( '<div class="name-cat"><a href="%s">%s</a></div>', get_category_link( $one_cat_data->term_id ) , $one_cat_data->cat_name ); | |
// Получаем посты с подрубрики (они там 100% есть, потому что get_categories по дефолту получает только такие) | |
$cat_posts_data = get_posts( array( 'category' => $one_cat_data->cat_ID ) ); | |
foreach ( $cat_posts_data as $one_cat_post_data ){ | |
// Возвращает название записи в виде ссылки и сливает с предыдущими блоками (в том числе и блоком из "названия рубрики") | |
$block_cats .= sprintf( '<div class="name-post"><a href="%s">%s</a></div>', get_the_permalink( $one_cat_post_data->ID ) , $one_cat_post_data->post_title ); | |
} | |
} | |
// Выводим на экран название рубрики + 5 записей из неё ( см. дефолтные значения get_posts, можно увеличить ) | |
printf( '<div class="cat-block">%s</div>', $block_cats ); | |
} | |
// Use default tags | |
$tags1 = get_the_tags(); | |
if ($tags1) { | |
foreach($tags1 as $tag) { | |
echo '<li>' . $tag->name . '</li>'; | |
} | |
} | |
// Add additional tags | |
// to function.php | |
add_action( 'init', 'create_taxonomies', 0 ); | |
function create_taxonomies(){ | |
register_taxonomy('tags2', 'post', array( | |
'hierarchical' => false, | |
'label' => 'Метки 2', | |
'show_ui' => true, | |
'query_var' => true, | |
'rewrite' => array( 'slug' => 'tags2' ), | |
'show_admin_column' => true, | |
)); | |
} | |
// to page template | |
$tags2 = wp_get_object_terms($post->ID, 'tags2'); | |
if ($tags2) { | |
foreach($tags2 as $tag) { | |
echo '<li>' . $tag->name . '</li>'; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment