将Wordpress与Opencart集成

时间:2018-08-09 07:21:48

标签: php wordpress opencart

我有一个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,这是问题吗?更重要的是,是否有解决此问题的方法?

2 个答案:

答案 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