Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

 

У меня сайт на основе 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 months later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.