在Wordpress / Woocommerce

时间:2018-05-07 15:42:16

标签: javascript php wordpress api woocommerce

我想将第三方API集成到Wordpress中,以显示可用项目列表,方法是使用API​​调用在Woocommerce我的帐户页面上显示此列表。

API网址

https://third-party-domain.com/project.svc?api_key=32uh3f93f347f3h79fh3

此调用的输出采用Json格式,并包含所有可用项目的列表

有人可以告诉我如何在我的functions.php中添加此API调用,以便在Woocommerce my-account页面上显示此列表吗?

可以在此处找到API:https://www.socialreport.com/social-report-api.html#project-list

希望有人可以帮助我:)

1 个答案:

答案 0 :(得分:1)

你有几种方法可以做到这一点(从最简单/最肮脏到最好/更复杂):

  1. 为每个api端点创建一个函数(为了美观和简单,我建议你制作第二个函数文件(xxx_api_functions.php)并将其包含在主题的header.php中,或者包含在functions.php本身中然后你可以在你需要的任何场合(重新)使用这些功能。
  2. 如果第1点使你成为一个太大的文件,你可以扩展这个解决方案,并在主题中集成一个小框架,一个类包。作为函数和自己的插件之间的混合,如果API很复杂或者你想编写一些可重用的逻辑,你可以创建一些php类(和evtl。一个自动加载器)在你的主题中将它们用在一个单独的文件夹中作为package(与该API相关的类集)。我多次尝试这种方法,以避免必须处理所有额外的插件复杂性。
  3. 使用2中的类并制作一个插件,使您可以更轻松地重用代码。 (虽然方法2使重用度已经很简单了),但是你会得到一个优势,即你将拥有一个独立于主题的解决方案。
  4. PD:开发取决于预期的复杂性......如果您已经知道,您需要几个函数和文件来完成该任务,首先要计划另外两个。如果您还不知道,请从1开始,但是一旦您注意到使用方法2可以更好地管理代码,请准备好扩展到解决方案2.我建议您在已经实现所有代码和类之后规划插件一旦完成所有事情,这是一个额外的步骤。

    编辑:

    1)包含在header.php中

    include('xxx_api_functions.php');
    

    2)创建xxx_api_functions.php

    3)在xxx_api_functions.php中创建一个

    function getProjects($param1, $param2){
    
    //code to call the api (curl)
    
    //code to parse the json
    
    //code to produce the html output
    
    }
    

    4)然后,在您想要显示项目的地方:

    echo getProjects($param1,$param2);