У меня есть магазин opencart и установка wordpress, работающие на одном сервере, и я хотел бы взять несколько статей и показать их на странице продукта в opencart.
Вот код, который я вставил в свой шаблон страницы продукта, но у меня возникли проблемы:
<?php
require('blog/wp-blog-header.php');
?>
<?php
$posts = get_posts('numberposts=3&order=ASC&orderby=post_title');
foreach ($posts as $post) : setup_postdata( $post ); ?>
<?php the_date(); echo "<br />"; ?>
<?php the_title(); ?>
<?php the_excerpt(); ?>
<?php
endforeach;
?>
Я получаю эту ошибку
Notice: Constant DB_PASSWORD already defined in /home/admin/web/domain.com/public_html/blog/wp-config.php on line 29 ERROR ESTABLISHING A DATABASE CONNECTION
Я знаю, что DB_PASSWORD также используется конфигурацией opencart, это проблема? И что еще важнее, есть ли решение этой проблемы?






Я думаю, что есть лучший способ получать сообщения из WordPress.
используйте wp-api, чтобы получать сообщения в формате json. тогда вы можете обрабатывать его как хотите.
вот простая функция в php (я использовал ее как помощник в CodeIgniter.
function blog_posts($site_url = 'http://yoursite.com/', $cat_id = 1, $count = 5, $thumbnails = true)
{
$url = $site_url . 'wp-json/wp/v2/posts?';
$url_data = [
'categories' => $cat_id,
'per_page' => $count,
];
$url_data = http_build_query($url_data, 1, '&');
if ($thumbnails) {
$url_data = $url_data . '&_embed';
}
$final_url = $url . $url_data;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $final_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
return $result;
}
Еще более простой способ - использовать RSS.
Большинство блогов должны создавать RSS-канал, содержащий нужный вам контент - это будет быстрее и проще получить, чем API.
Затем вы можете увидеть этот ответ о том, как анализировать RSS XML из PHP: Лучший способ анализировать RSS / Atom-каналы с помощью PHP