WordPress похожие / похожие посты по названию - PullRequest
0 голосов
/ 13 июня 2011

Я знаю, что есть много плагинов, которые делают это. но мне интересно, почему все плагины получают только пост по тегам, а не по заголовкам?

Какой эффективный способ получить все подобные сообщения только по заголовку в файле single.php. например, если у меня есть два поста, заголовок которых «ускорить загрузку WordPress» и «ускорить Backend WordPress». тогда в одном посте другой должен быть связан и показан.

Я могу придумать способ сделать это, чтобы получить все сообщения в одной и той же категории и использовать аналогичный_текст () для сравнения каждого заголовка с текущим. затем закажите результат и покажите лучшие из списка. Это хороший и эффективный способ сделать это?

есть предложения? приложите фрагмент кода, если у вас есть решение.

Ответы [ 2 ]

1 голос
/ 12 сентября 2014

Я бы посоветовал вам не загружать связанные посты при загрузке страницы, потому что это значительно ухудшит производительность вашего сайта.

Бесплатный плагин WordPress Related Posts для WordPress автоматически находит связанные посты (в том числе на основе заголовка) и кеширует их для вас, предлагая вам реальные посты без ущерба для производительности вашего сайта. После автоматической привязки вы можете, при необходимости, вручную добавлять, редактировать или удалять связанные сообщения.

Вы можете попробовать его через репозиторий WordPress.org: http://wordpress.org/plugins/related-posts-for-wp/

0 голосов
/ 13 июня 2011

Это требует немного больше работы, но вы можете добавить полнотекстовый индекс в столбец заголовка таблицы сообщений, а затем использовать MATCH AGAINST в своем запросе для получения аналогичных сообщений, упорядоченных по релевантности.

Чтобы добавить полнотекстовый индекс:

CREATE INDEX fulltext2 ON wp_posts(post_title(255));

Чтобы сделать запрос, используя MATCH AGAINST:

SELECT ID, post_title, 
        MATCH(post_title) AGAINST ('$post_title') AS Similarity 
        FROM wp_posts 
        WHERE MATCH(post_title) AGAINST('$post_title') 
        ORDER BY Similarity DESC;

Примечание: я не очень хорошо разбираюсь в SQL, если вы решите использовать эту опцию, возможно, кто-то может улучшить SQL выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...