Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Статьи к товару из WordPress


Рекомендованные сообщения

Здравствуйте.

 

У меня сайт на основе WordPress, там в подпапке - Opencart.

Соответственно в вп пишу статьи, в ос продаю товары. Тематика одна, естественно.

 

Задался целью вывести у товара статьи, которые товару подходят по теме.

Нашел такую штуку - https://opencartforum.com/files/file/255-wordpressposts-vyvod-postov-iz-wordpress-v-opencart/

Во-первых - она дает ошибки, во-вторых - не сеошные на статьи ссылки. В-третьих - автор на нее забил.

Расковырял я ее прилично, многое поправил, но ссылки, увы, никак. Короче, бросил нафиг.

 

Дальше - создал пустую страницу в ВП без хедеров, футеров и лишнего кода.

В ней - вывожу три поста из определенной категории с превьюшкой 100х100 и коротким описанием. Ссылки там нормальные, потому что страница создается движком вп.

Хотел заинклюдить как-нить со страницы товара и в запросе передать имя категории. Думаю, имя возьму из опенкартовского поля "модель". Я им все равно не пользуюсь.

 

Вот делал, делал. Чувствую - получается порнография. Должно быть проще все.

 

Товарищи знатоки, подскажите, пожалуйста, каким путем пойти?

 

Ссылка на комментарий
Поделиться на других сайтах


Написать модуль, который будет напрямую подключаться к базе сайта с вп и вытаскивать из неё статьи

Задался целью вывести у товара статьи, которые товару подходят по теме.

 

Садись, два.

Поясню:

Вам нужно статьи на странице товара выводить или же ссылки на статьи?

 

Ненавижу за других для них бесплатно тз составлять, но для вас исключение

Выводить собираетесь статьи или ссылки?

Если статьи, то смотрим перую строчку моего сообщения и тупо выводим текст статьи.

Если ссылки, то смотрим её же, но

- а где сами статьи будут храниться? Если  остаются на сайте вп, а вы просто хотите сделать перелинковку, тогда кроме текста самой статьи из базы брать и сгенерированный для неё урл. Да-да, он там есть. И всё просто. А если на опенкарте, то нафига вообще вп?

Ссылка на комментарий
Поделиться на других сайтах

Написать модуль, который будет напрямую подключаться к базе сайта с вп и вытаскивать из неё статьи

Задался целью вывести у товара статьи, которые товару подходят по теме.

 

Садись, два.

 

cry_1.jpg

 

Вам нужно статьи на странице товара выводить или же ссылки на статьи?

 

Хочу вывести названия статей, обрамленные ссылкой (с учетом СЕО Вордпресса), с превьюшкой 60х60 и коротким описанием, которое в мета-теги суется (тут я его использую как аннотацию).

Статьи хранятся в базе вп, в первозданном виде. Кстати, база у вп и ос - общая, префиксы разные, но это на суть повлиять не должно.

 

Прям в шаблоне страницы товара настрочить запрос к бд? Или лучше как-то по-другому это организовать? У меня просто уровень знания языков зачаточный. Код пишу по справочникам.

Спасибо.

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


С Божьей помощью накатал.

Под ВП с плагином All in One SEO Pack

Дерёт из базы с вп название статьи, ее короткое описание, правильную ссылку (при условии, что адреса такие: site.com/post/ ) и превьюшку.

Статьи берутся из определенной категории. Можно будет отпарсить название товара, можно создать новое поле к товару специально под это дело, а можно использовать существующее. Я собрался использовать поле "модель".

 

Внимание, вопрос: стОит ли все это оборачивать в модуль для opencart? Или забить и прямо так засандалить в страницу с товаром?

Если оберну в модуль - наверняка потом пригодится кому-нибудь. Можно сделать нечто вроде Related posts к товарам.

Дело в том, что модули ни разу не делал, но есть же маны. Скажите - стоит за это браться? Доработать поможете, или так и останется криворукая фигня?

 

header("Content-type: text/html; charset=utf-8");$mysql_host = 'db.host.ru';$mysql_user = 'user';$mysql_pass = 'pass';$mysql_db   = 'user';mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Could not connect DB\n");mysql_select_db($mysql_db) or die("Could not select database");if(!mysql_set_charset('utf8')) mysql_query("SET NAMES 'utf8'");$tagtag='Категория';$catgo="SELECT t.term_id, r.object_idFROM wp_terms AS t LEFT JOIN wp_term_relationships AS rON r.term_taxonomy_id = t.term_idWHERE t.name = '".$tagtag."'";$catres = mysql_query ($catgo);while ($catgo = mysql_fetch_array ($catres)){    $postid=$catgo['object_id'];    $img_row="    SELECT po.post_excerpt, po.guid    FROM wp_postmeta AS pm    LEFT JOIN wp_posts AS po ON po.id = pm.meta_value    WHERE pm.post_id = '".$postid."'    AND pm.meta_key = '_thumbnail_id'    ";    $img_res = mysql_query ($img_row);    $img_row = mysql_fetch_array ($img_res);    $f = pathinfo($img_row['guid']);    $e = str_replace($f['filename'], $f['filename'].'-150x150', $img_row['guid']);    $img_thumb='<img src="'.$e.'" width=70 height=70 alt="'.$img_row['post_excerpt'].'">';    $row="    SELECT p.id, p.post_title, p.post_name, m.meta_value    FROM wp_posts AS p LEFT JOIN wp_postmeta AS m    ON m.post_id = p.id    WHERE p.id = '".$postid."'    AND p.post_type='post'    AND p.post_status='publish'    AND m.meta_key='_aioseop_description'    ORDER BY p.post_date DESC LIMIT 5    ";    $result = mysql_query ($row);    while ($row = mysql_fetch_array ($result))    {        print "<a href=http://site.ru/{$row['post_name']}/>{$img_thumb}</a> <a href=http://portgorod.ru/{$row['post_name']}/>{$row['post_title']}</a><br>{$row['meta_value']}<br><br>";    }}
Ссылка на комментарий
Поделиться на других сайтах


  • 9 месяцев спустя...

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.