Результаты поиска Wordpress не отображают изображения из внешних источников? - PullRequest
0 голосов
/ 26 января 2020

Мой сайт Wordpress особенный, потому что я смешиваю Wordpress с внешними страницами. Содержимое этих страниц хранится в базе данных, отличной от Wordpress. У меня есть сценарии, запускаемые один раз в день для генерации всех внешних страниц. Они используют тему Wordpress, включая следующий код:

define('WP_USE_THEMES', false);
require('../wp-blog-header.php');

Это прекрасно работает годами. Теперь я попытался включить этот внешний контент также в результаты поиска Wordpress. Я нашел способ, автоматически копируя содержимое внешней базы данных в таблицу wp_posts базы данных WP. Эти внешние записи имеют собственный тип записи. Я также добавил пользовательский тип записи в поиск WP через функции. php. Это работает также fantasti c !!

На последнем шаге я попытался применить изображения к этим «специальным» результатам поиска. Изображения хранятся во внешнем каталоге. Не в папке изображений WP. Мой ежедневный скрипт добавляет эти функции к URL-адресам изображений, добавляя новые строки wp_posts для вложений и строки wp_postmeta, чтобы соединить их с постом. Выглядит точно так же, как и записи записей в WP.

К сожалению, это не работает: в результатах поиска отображается текстовое содержимое, но нет изображения. Я также попытался сгенерировать все размеры WP этих изображений, и это тоже не работает. Тег показывает только «неизвестно», при проверке исходного кода. Ссылка в поле guid таблицы wp_posts верна, но ссылается на внешний каталог.

Нужно ли копировать все внешние изображения в папку изображений WP, чтобы она работала?

Или есть еще лучший вариант?

1 Ответ

0 голосов
/ 28 января 2020

Тем временем я нашел подходящее решение. Я просто изменил поиск темы. php и добавил

if(get_post_type() == 'my_custom_post_type')
{
$post_thumbnail_url = get_the_guid(get_post_thumbnail_id());
}

Таким образом, я могу использовать URL-адрес изображения, который я сохранил в поле guid в строке сообщения вложения.

...