代码之家  ›  专栏  ›  技术社区  ›  Florin C.

将WordPress与OpenCart集成

  •  0
  • Florin C.  · 技术社区  · 6 年前

    我在同一台服务器上运行了一个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\u html/blog/wp-config.php中已经定义了常量db\u密码。 建立数据库连接时出错

    我知道数据库密码也被opencart配置使用,这是问题吗?更重要的是,这个问题有解决办法吗?

    2 回复  |  直到 5 年前
        1
  •  0
  •   Ali Qorbani    5 年前

    我认为有更好的方法从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;
    }
    
        2
  •  0
  •   Paul Feakins    5 年前

    一个更简单的方法是使用RSS。

    大多数博客都应该生成一个包含你需要的内容的RSS提要——这将比API更快、更容易获得。

    然后,您可以看到这个关于如何从PHP解析RSS XML的答案: Best way to parse RSS/Atom feeds with PHP