[Помогите] Похожие записи по названию (без плагина)

Тема в разделе "Wordpress", создана пользователем Skorp1oN, 17 июн 2013.

Модераторы: Sorcus
  1. Skorp1oN

    Skorp1oN

    Регистр.:
    16 дек 2007
    Сообщения:
    368
    Симпатии:
    25
    Версия WP: 3.5.1

    Приветствую всех!

    Подскажите пожалуйста, как можно вывести похожие записи по названию (записи у которых похож/такой же title как у текущей записи)? Без использования плагинов.

    Заранее большое спасибо!
     
  2. BluesInMyBrain

    BluesInMyBrain Создатель

    Регистр.:
    21 янв 2014
    Сообщения:
    35
    Симпатии:
    6
    Если еще актуально - можно ведь банальным запросом в базу. Что-то вроде SELECT * from {табличка со статьями} WHERE `title` LIKE {title текущей статьи}. Если необходимо - пишите в ЛС, помогу.
     
  3. Lolshto?!

    Lolshto?! Постоялец

    Регистр.:
    26 июл 2013
    Сообщения:
    65
    Симпатии:
    33
    Код:
    <div class="sample-posts">
    <h4>Читайте также:</h4>
    <?php
    $categories = get_the_category($post->ID);
    if ($categories) {
        $category_ids = array();
        foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
        $args=array(
        'category__in' => $category_ids,
        'post__not_in' => array($post->ID),
        'showposts'=>5,
        'caller_get_posts'=>1);
        $my_query = new wp_query($args);
        if( $my_query->have_posts() ) {
        echo '<ul>';
        while ($my_query->have_posts()) {
        $my_query->the_post();
    ?>
    <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    <?php
    }
    echo '</ul>';
    }
    wp_reset_query();
    }
    ?></div>
    оно нет?

    добавляешь код в functions.php и делаешь вызов по названию.

    ps^ если не ошибаюсь данный код приведен даже тут на форуме в прилепленной теме
     
  4. startm

    startm Писатель

    Регистр.:
    19 сен 2012
    Сообщения:
    9
    Симпатии:
    0
    PHP:
    </pre>
    <
    div class="sample">
    <
    h3>Похожие статьи:</h3>
    <!--?
    php $categories get_the_category($post--->ID);
    if (
    $categories) {
    $category_ids = array();
    foreach(
    $categories as $individual_category$category_ids[] = $individual_category->term_id;
    $args=array(
    'category__in' => $category_ids,
    'post__not_in' => array($post->ID),
    'showposts'=>5// Number of related posts that will be shown.
    'caller_get_posts'=>1
    );
    // Rest is the same as the previous code
    $my_query = new wp_query($args);
    if( 
    $my_query->have_posts() ) {
    echo 
    '
    <ul>
    <ul>'
    ;</ul>
    </
    ul>
    <
    ul>
    <
    ul>while ($my_query->have_posts()) {</ul>
    </
    ul>
    <
    ul>
    <
    ul>$my_query->the_post();</ul>
    </
    ul>
    <
    ul>
    <
    ul></ul>
    </
    ul>
    <
    ul>
    <
    ul><!--?php <br ?-->}</ul>
    </
    ul>
    <
    ul>echo '</ul>
    '
    ;
    }
    wp_reset_query();
    }
    ?></div>
    <pre>
    вставлять в single.php. похожие записи по категориям
     
  5. 6ayhtu

    6ayhtu Писатель

    Регистр.:
    4 окт 2013
    Сообщения:
    10
    Симпатии:
    0
    Спасибо за код!
     
  6. startm

    startm Писатель

    Регистр.:
    19 сен 2012
    Сообщения:
    9
    Симпатии:
    0
    а вот еще можно по меткам
    Код:
    <div id="related_posts">
    <h3>Похожие темы</h3>
    <?php
    $categories = get_the_category($post->ID);
    if ($categories) {
        $category_ids = array();
        foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
        $args=array(
        'category__in' => $category_ids,
        'post__not_in' => array($post->ID),
        'showposts'=>4,
    'orderby'=>rand,
        'caller_get_posts'=>1);
        $my_query = new wp_query($args);
        if( $my_query->have_posts() ) {
        echo '<ul>';
        while ($my_query->have_posts()) {
        $my_query->the_post();
    ?>
    <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><div id="box-cel"><?php the_post_thumbnail(); ?><br><?php the_title(); ?></div></a></li>
    <?php
    }
    echo '</ul>';
    }
    wp_reset_query();
    }
    ?>
    </div>