WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Похожие статьи

Есть ли способ:

1. Вывести в полной статье похожие статьи.

2. Задать иконку для категории(раздела).

Хотелось бы без плагинов.

0
AHristich
1 месяц назад
  • 0
    Andrew475 america-xix.ru

    Вывести в полной статье похожие статьи

    да. Решение зависит от Вашего понимания "похожести"

    Задать иконку для категории(раздела)

    да. Сохраняйте урл (или класс, если иконка из шрифта) иконки в кастомном поле term_meta

    У Тимура есть готовое решение в виде класса : https://wp-kama.ru/id_7686/miniatyury-dlya-elemetov-taksonomij.html

    AHristich 1 месяц назад

    Решение зависит от Вашего понимания "похожести"

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

    У Тимура есть готовое решение

    Там я так понял что код выдергивает картинку типа как миниатюру поста (судя по тексту).

    Andrew 1 месяц назад

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

    1. С помощью get_posts() получаете массив записей по нужным критериям
    2. Оформляете блок с записями, сохраняете его в переменную.
    3. С помощью функции, повешенной на фильтр the_content, вставляете блок в нужное место статьи.

    Как вставлять контент в контент описано в статье https://wp-kama.ru/id_236/reklamnyiy-blok-v-tekste-stati.html

    Особенность работы фильтра the_content в том, пользовательские функции сработают позже, чем встроенные (если это поведение не изменить при вызове). Поэтому контент статьи будет передан в вашу функцию после срабатывания функции wpautop(). Это очень удобно при добавлении контента в любое место статьи - разбиваете статью функцией explode() по закрывающему тегу абзаца и потом собираете её обратно по абзацам, добавляя контент после нужного.

    Andrew 1 месяц назад

    Там я так понял что код выдергивает картинку типа как миниатюру поста (судя по тексту).

    Никуда он ничего не выдергивает. Класс расширяет экраны создания и редактирования термина, добавляя возможность загрузить в медиабиблиотеку картинку и сохранить ID вложения в скрытом метаполе термина.

    Класс можно использовать и для добавления и редактирования других метаполей термина. Нужно будет только его доработать напильником под свои нужды.

    Комментировать
  • 0
    el-lable465 el-lable.ru

    1 - делал такое на основе шорткода, шорткод выводился в контенте(а конце статьи).

    <?php 
    add_shortcode('articles', 'show_articles');
    
    // [articles]
    function show_articles() {
    	if( get_queried_object()->post_type != 'post' ) return;
    
    	$posts = get_posts( array(
    		'numberposts' => -1,
    		'category'    => get_the_category( get_queried_object()->ID )[0]->term_id,
    		'orderby'     => 'date',
    		'order'       => 'DESC',
    		'include'     => array(),
    		'exclude'     => get_queried_object()->ID,
    		'post_type'   => 'post',
    		'suppress_filters' => true, // подавление работы фильтров изменения SQL запроса
    	) );
    
    	if( !count( $posts ) ) return;
    
    	ob_start();
    ?>
    <section class="other_articles">
    	<header>Другие статьи</header>
    	<ul>
    		<?php
    		foreach( $posts as $post ) {
    			//$field = get_field( 'article-preview', $post->ID );
    		?>
    			<li>
    				<div class="thumb"><img src="<?php //echo $field['thumb']['sizes']['post-thumb']; ?>"></div>
    				<div class="title"><a href="<?php echo get_permalink( $post->ID ); ?>"><?php echo $post->post_title; ?></a></div>
    			</li>
    		<?php } ?>
    	</ul>
    </section>
    <?php
    	return ob_get_clean();
    }

    Но вам надо под себя дописывать код, но принцип думаю понятен.

    2 - если не надо сильно заморачиваться, сделайте это стилями. В body добавляются классы, привяжите к ним стили.
    Копайте в сторону body_class() в вордпресс.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация