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

Шукайте метадані публікації в області адміністрування WordPress

7

Після того, як ви працювали з WordPress протягом тривалого часу, цілком імовірно, що ви працювали з метаданими публікації певною мірою. Можливо, ви просто прочитали метадані з бази даних, або, можливо, ви також записали та зчитали з таблиці бази даних.

Це може бути справді потужним API, коли вам потрібно пов’язати певну інформацію з вашими публікаціями (або, якщо ви ще більше абстрагуєтесь, з вашими моделями).

Тим не менш, що станеться, якщо ви хочете включити інформацію з таблиці метаданих, але не маєте зручності плагінів, таких як SearchWP або Relevanssi?

Крім того, припустимо, що варіант використання лише для адміністраторів і лише для адміністративної області WordPress. Тобто ви хочете шукати свої дописи на екрані «Усі дописи », але також хочете включити метадані дописів до критеріїв пошуку.

Що потім?

Пошук метаданих дописів

Коли ви шукаєте дописи в області адміністрування WordPress із коробки, він шукатиме фразу в заголовку допису, уривку допису та вмісті, а потім повертатиме ці результати.

Отже, щоб розширити пошук, щоб включити метадані публікації, ми повинні оновити запит, який виконується, щоб він містив таблиці метаданих публікації. Але в цьому є щось більше. Зокрема, для найбільшої гнучкості та найкращої взаємодії з користувачем вам потрібно:

  • включити частини фрази, щоб вона не просто шукала щось дослівне в статті,
  • і, звісно, ​​належним чином обробити випадок, якщо пошуковий термін не введено, щоб екран «Усі дописи» все ще можна було переглядати у стандартному форматі.

Це означає, що нам потрібно не лише змінити пошуковий запит, щоб включити мета-ключ і мета-значення, але нам потрібно правильно екранувати цілі фрази, щоб ми могли використовувати LIKEоперацію, а не INоперацію чи =операцію.

Шукайте метадані публікації в області адміністрування WordPress

Деякі речі, які важливо знати, перш ніж читати решту цієї статті, включають:

Зрештою, нам знадобиться використовувати два хуки з двома спеціальними функціями. І оскільки я не можу надати повний приклад того, як це може виглядати у вашому випадку використання, код має бути трохи узагальненим.

Підключення до пошуку

У наступній суті ви побачите три речі:

  1. Перевірка того, що користувач знаходиться в області адміністрування, і він знаходиться на сторінці редагування.
  2. Користувач ввів пошуковий запит.
  3. Фразу пошуку було перетворено в масив, екрановано та додано до властивості метазапиту екземпляра WP_Query.

Дивіться нижче :

Якщо припустити, що все вищесказане вірно, це оновить запит, який виконується в базі даних WordPress, перш ніж відобразиться наступна сторінка, щоб отримати результати, які містять інформацію метаданих.

Оновлення речення WHERE

Однак перш ніж ми закінчимо, нам також потрібно переконатися, що ми оновили запит, який виконується.

За замовчуванням запит створюється за допомогою ANDоперації, яка заважає нам правильно переглядати заголовки публікацій, уривки, вміст і метадані; однак запит потрібно оновити, щоб він використовував ORоперацію.

Буквально це означає, що він буде виглядати в заголовку, вмісті, уривку або метаданих.

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

Це оновлює WHEREпункт, який запускається для завершення роботи, набір у початковій частині статті, де ми додаємо метадані.

Є інші шляхи

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

Тож вважайте це одним із багатьох способів, які можна використати; однак знайте, що якщо у вас є:

  1. один ключ,
  2. значення (або значення, яке можна розбити на масив),
  3. і ви хочете шукати метадані поряд із традиційним вмістом публікації

Тоді це спрацює.

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

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