我有一个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;
?>
我遇到此错误
注意:第29行的/home/admin/web/domain.com/public_html/blog/wp-config.php中已经定义了常量DB_PASSWORD 建立数据库连接时出错
我知道opencart配置也使用DB_PASSWORD,这是问题吗?更重要的是,是否有解决此问题的方法?
答案 0 :(得分:0)
我认为有一种更好的方法来从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;
}
答案 1 :(得分:0)
一种更简单的方法是使用RSS。
大多数博客都应生成包含所需内容的RSS feed-这将比API更快更容易获得。
然后您可以看到有关如何从PHP解析RSS XML的以下答案: Best way to parse RSS/Atom feeds with PHP