我应该把我对wp_emote_get的调用放在哪里?

时间:2018-12-10 作者:bigpotato

我有一个侧边栏,它应该循环浏览从GET请求中获取的一系列职位公告。生成的HTML应如下所示:

<div>
  <h4 class="myapp-sidebar-heaader">Related Positions</h4>
  <div>
    <a href="#" class="myapp-related-job-link">
      <h5 class="myapp-job-title">Job title really really long</h5>
      <h5 class="myapp-job-location">Location</h5>
    </a>
    <a href="#" class="myapp-related-job-link">
      <h5 class="myapp-job-title">Job title really really long</h5>
      <h5 class="myapp-job-location">Location</h5>
    </a>
  </div>
</div>
现在假设API URL是https://jsonplaceholder.typicode.com/todos.

我发现wp_remote_get ()https://developer.wordpress.org/reference/functions/wp_remote_get/ ) 但我不确定我把它放在哪里了。我应该把它放在视图文件中吗?

我想我应该做一个函数:

呼叫wp_remote_get("https://jsonplaceholder.typicode.com/todos")

  • 在函数中返回职务发布对象的数组。php,但我不确定如何将其导出以使其在视图中可用。

  • 1 个回复
    最合适的回答,由SO网友:Tom J Nowell 整理而成

    我想我应该做一个函数:

    呼叫wp_remote_get("https://jsonplaceholder.typicode.com/todos")

  • 返回职务发布对象的数组是的,这仍然留下了在何处调用它的问题

    在函数中。php,但我不确定如何将其导出以使其在视图中可用。

    中的函数functions.php 在模板中可用,如果您正确使用WordPress主题模板,则在视图中可用不是问题

    至于在哪里调用这个函数?在要显示它的位置。然而,您的方法也有缺点:

    用PHP向frontvend上的另一台服务器进行远程请求是性能和可扩展性方面最糟糕的事情之一,如果它只是一个远程服务器GET 在没有身份验证的情况下请求,您可以在JS中这样做,而用javascript这样做将把工作转移到浏览器上,并使页面缓存更好,因为它不会缓存过时的结果。

    因此,您可以在javascript中执行以下操作:

    fetch(\'https://jsonplaceholder.typicode.com/todos\')
        .then(function(response) {
            return response.json(); // decode the JSON
        })
        .then(function(json) {
            // create a container dom node, and fill it with todo items
            const container = jQuery(\'<div>\', { id: "todos"
            const todos = json.map( todo =>
                jQuery( \'<p></p>\', text: todo.title)
            );
            container.append( todos );
            // add it to the page inside a div with an ID, we\'re adding it all at once for performance reasons
            jQuery(\'#sidebartodos\').append( container );
        });
    

  • 相关推荐