✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Додайте наступну довільну публікацію в шаблон сторінки WordPress за допомогою SQL

9

Ви можете часто отримувати поради щодо покращення SEO (оптимізації пошукових систем), додаючи посилання на ваші попередні публікації, коли ви публікуєте нову публікацію. Це допомагає збільшити трафік і працює подібно до плагінів, таких як «Relative Posts», але тільки простіше.

Усі публікації WordPress зберігаються в таблиці, наприклад wp_posts, і всередині цієї таблиці ви знайдете post_title, post_name, і ці стовпці досить прості. Залежно від конфігурації URL-адрес ваших публікацій, ви можете мати різні формати постійних посилань, які можна налаштувати в розділі Налаштування – Постійне посилання.

Наведений нижче код PHP можна вставити в шаблон сторінки, як правило, single.php, який є шаблоном єдиної публікації, або page.php для шаблону сторінки.

Змініть wp_posts відповідно, оскільки це може дещо відрізнятися. SQL-запит повертає довільний допис, де він виключає сторінки або пункти меню, посилання тощо. І має бути опублікований статус допису, який виключає чернетку. Обмеження 1 повертає лише 1 допис. Отже, якщо вам потрібна попередня публікація, ви можете змінити це на обмеження 2.

Постійне посилання на моєму сайті базується на post_name, що є більш зручним для SEO. Ви можете налаштувати це. Запит SQL також можна налаштувати. Наприклад, ви можете повернути релевантні публікації замість випадкових публікацій, зіставивши titleзначення відповідно до поточної назви публікації. Або ви справді бажаєте повернути попередню чи наступну публікацію, відсортовану за датою публікації, ви можете використати поле "post_id".

Коментарі

Ю – “Круто, випадковий вибір – це дуже приємно. Також краще переконатися, що випадкова пов’язана з поточною публікацією. Але зазвичай це не є великою проблемою, якщо блог присвячено одному жанру.

Також порядок за допомогою RAND() добре працює для тисяч записів. (зазвичай це стосується звичайного блогу). Але це спалить вашу базу даних, якщо у вас є мільйони записів в одній таблиці, яка відповідає критеріям пошуку».

Так, порядок SQL за допомогою rand() є трохи складним і повільним. Він повинен отримати всі записи та відсортувати їх випадковим чином. Вважається низькою ефективністю, коли розмір столу середній або великий. Ви можете скористатися наступним трюком, щоб отримати випадковий запис швидше, використовуючи функцію rand() у PHP.

// get total number of records $query = "select count(1) from `table`"; $result = mysql_query($query) or die(mysql_error()); $total = mysql_result($result, 0, 0); // get a random $r = rand(0, $total - 1); // return a number between 0 and $total - 1 inclusive using PHP $query = "select * from `table` limit $r, 1"; $result = mysql_query($query) or die(mysql_error());

Причини обмеження SQL визначають зсув, а другий параметр визначає кількість записів, які потрібно отримати.

Кращий випадковий запис

Відповідно до вищезазначеного, порядок за допомогою rand() є надзвичайно неефективним, якщо у вас дуже велика таблиця, оскільки для сортування (навіть якщо вам потрібен лише один елемент), буде викликана функція rand(), а це те, чого ми не робимо. хочуть. Ми можемо покращити вищезазначене, використовуючи два запити, перший повертає загальну кількість дописів, і ми маємо функцію випадкового вибору PHP і отримуємо випадковий запис за допомогою оператора limit .

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі