Статьи

Внутрішня перелінковка в WordPress без використання плагінів

Існує багато плагінів для внутрішньої перелінковки, але іноді використовувати їх недоцільно тому  вони споживають багато ресурсів і не завжди гнучко налаштовуються, на щастя існує спосіб створити внутрішню перелинковку без використання плагінів
Існує багато плагінів для внутрішньої перелінковки, але іноді використовувати їх недоцільно тому вони споживають багато ресурсів і не завжди гнучко налаштовуються, на щастя існує спосіб створити внутрішню перелинковку без використання плагінів! Завдяки цьому способу Ви можете вивести попередні x-записів з рубрики де опубліковано пост.

Щоб зробити таку перелинковку Вам потрібно додати наступний код в файл single.php (в папці Вашої теми) в те місце де Ви хочете вивести "Попередні записи":

<? 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 <' $ the_post_id 'ORDER BY wposts.ID DESC LIMIT $ post_num "; $ Result = $ wpdb-> get_results ($ sql, OBJECT); global $ post; ?&gt; <Ul> <? Php foreach ($ result as $ post) {setup_postdata ($ post); ?&gt; <Li> <a href="<?php the_permalink() ?&gt; "rel =" bookmark "> <? Php the_title (); ?&gt; </a> </ li> <? Php $ num ++; $ Save_ids [] = $ post-> ID; } If ($ num <$ post_num ||! $ Result) {$ 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); ?&gt; <Li> <a href="<?php the_permalink() ?&gt; "rel =" bookmark "> <? Php the_title (); ?&gt; </a> </ li> <? Php}}?> </ Ul> <? Php}?> <? Php $ 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 рядку змінюється кількість виведених постів, за замовчуванням виводиться 5 попередніх постів.

По мимо того що цей спосіб використовує набагато менше ресурсів ніж аналогічні плагіни, він також більш логічно перелінковивают всі сторінки. У Вас не вийде така ситуація що на деякі сторінки будуть 1-2 посилання, а на інші по 10 посилань, при використанні цього способу на кожну запис у Вас завжди буде по 5 посилань! Також плюсом можна назвати і постійність посилань, тобто вони не буду змінюватися при появі нових записів.

Приклад такої перелинковки Ви можете спостерігати на цьому блозі 😉
За даний спосіб величезне спасибі блогу Dimox'a і користувачеві Kama (який оптимізував код).

Існує ще один спосіб створити внутрішню перелинковку без використання плагінів, але у нього інший принцип роботи. Перелінковка створюється за допомогою виведення схожих записів, схожі записи знаходяться завдяки однаковим тегам (якщо Ви не використовуєте теги, то цей спосіб не для Вас!).

<? Php $ 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 '<h3> Схожі записи </ h3> <ul>'; while ($ my_query-> have_posts ()) {$ my_query-> the_post (); ?&gt; <Li> <a href="<?php the_permalink() ?> "rel =" bookmark "title =" Постійне посилання на <? Php the_title_attribute ();?> "> <? Php the_title (); ?&gt; </a> </ li> <? Php} echo '</ ul>'; }}?>

Мінусом такого способу є те що деякі записи можуть залишитися взагалі без посилань на них сторінок, адже іноді теги унікальні і знаходяться тільки в однієї або декількох записів, з цього ці сторінки залишаться без уваги 🙁

Загалом можу сказати одне - ІМХО 1 спосіб це найкращий варіант внутрішньої перелинковке блогів на WordPress тому він споживає дуже мало ресурсів, всі записи отримують по 5 посилань (не одна запис не залишиться без уваги), СДЛ'ьность - завдяки цьому способу користувач може знайти інші цікаві для його записи (тому що записи виводяться з тієї ж рубрики що і сам пост), в загальному хороший він на всі 100% 😉 РЕКОМЕНДУЮ!

ID DESC LIMIT $ post_num "; $ Result = $ wpdb-> get_results ($ sql, OBJECT); global $ post; ?
Gt; <Ul> <?
Php foreach ($ result as $ post) {setup_postdata ($ post); ?
Gt; <Li> <a href="<?
Php the_permalink() ?
Gt; "rel =" bookmark "> <?
Php the_title (); ?
Gt; </a> </ li> <?
Gt; <Li> <a href="<?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал