Февраля 17, 2010 | by Макс | Существует...

февраля 17, 2010 | by Макс | Существует много плагинов для внутренней перелинковки, но иногда использовать их нецелесообразно т. к. они потребляют много ресурсов и не всегда гибко настраиваются, к счастью существует способ создать внутреннюю перелинковку без использования плагинов! Благодаря этому способу Вы можете вывести предыдущие x-записей из рубрики где опубликован пост. Чтобы сделать такую перелинковку Вам нужно добавить следующий код в файл single. php (в папке Вашей темы) в то место где Вы хотите вывести “Предыдущие записи”: function show_previous_posts_from_category ($the_post_id, $the_category_id = 0, $post_num) { $num = 0; global $wpdb; $sql = “SELECT wposts.* FROM $wpdb->posts wposts LEFT JOIN $wpdb->term_relationships ON (wposts. ID = $wpdb->term_relationships. object_id) LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships. term_taxonomy_id = $wpdb->term_taxonomy. term_taxonomy_id) WHERE $wpdb->term_taxonomy. taxonomy = ‘category’ AND $wpdb->term_taxonomy. term_id = ‘$the_category_id’ AND wposts. post_status = ‘publish’ AND wposts. post_type = ‘post’ AND wposts. ID ORDER BY wposts. ID DESC LIMIT $post_num”; $result = $wpdb->get_results($sql, OBJECT); global $post; ?>

    foreach ($result as $post) { setup_postdata($post); ?> ” rel=”bookmark”> $num++; $save_ids[] = $post->ID; } if ( $num $need_more = $post_num-$num; $save_ids[] = $the_post_id; $save_ids = join (‘,’, $save_ids); $more_posts = get_posts(“numberposts=$need_more&category=$the_category_id&exclude=$save_ids”); foreach ($more_posts as $post){ setup_postdata($post); ?> ” rel=”bookmark”> } } ?>

$the_cat = get_the_category(); $the_cat_id = $the_cat[0]->cat_ID; show_previous_posts_from_category($post->ID, $the_cat_id, 5); wp_reset_query(); ?> В 51 строке (show_previous_posts_from_category($post->ID, $the_cat_id, 5);) изменяется количество выводимых постов, по умолчанию выводится 5 предыдущих постов. По мимо того что этот способ использует намного меньше ресурсов чем аналогичные плагины, он также более логично перелинковывает все страницы. У Вас не получится такая ситуация что на некоторые страницы будут 1-2 ссылки, а на другие по 10 ссылок, при использовании этого способа на каждую запись у Вас всегда будет по 5 ссылающихся страниц! Также плюсом можно назвать и постоянность ссылок, т. е. они не буду изменяться при появлении новых записей. Так же существует еще один способ создать внутреннюю перелинковку без использования плагинов, но у него другой принцип работы.

Февраля 17, 2010 | by Макс | Существует...

Перелинковка создается при помощи вывода похожих записей, похожие записи находятся благодаря одинаковым тегам (если Вы не используете теги, то данный способ не для Вас!). $tags = wp_get_post_tags($post->ID); if ($tags) { $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args=array( ‘tag__in’ => $tag_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 ‘

Похожие записи

    ‘; while ($my_query->have_posts()) { $my_query->the_post(); ?> ” rel=”bookmark” title=”Постоянная ссылка на “> } echo ‘

‘; } } ?> Минусом такого способа является то что некоторые записи могут остаться вообще без ссылающихся на них страниц, ведь иногда теги уникальны и находятся только у одной или нескольких записей, по этому эти страницы останутся без внимания :-( В общем могу сказать одно – ИМХО 1 способ это самый лучший вариант внутренней перелинковке блогов на WordPress т. к. он потребляет очень мало ресурсов, все записи получают по 5 ссылок (не одна запись не останется без внимания), СДЛ’ьность – благодаря этому способу пользователь может найти другие интересующие его записи (т. к. записи выводятся из той же рубрики что и сам пост), в общем хорош он на все 100% ;-) РЕКОМЕНДУЮ! h++p://www. wp-info. ru/vnutrennyaya-perelinkovka-v-wordpress-bez-ispolzovaniya-plaginov/ Теги: WordPress

Понравилась статья? Получай обновления и будь всегда в курсе событий!
Подпишись на RSS или
blog comments powered by Disqus