【问题标题】:Where to put Google API PHP library for Wordpress?在哪里放置 Wordpress 的 Google API PHP 库?
【发布时间】:2013-03-28 18:47:52
【问题描述】:

我想在 Wordpress 网站上使用 Google API PHP 客户端库。

https://code.google.com/p/google-api-php-client/

说明说要在“项目根目录”下安装库,但我不清楚这对 Wordpress 安装意味着什么。我当然想避免在 httpdocs 下使用它;似乎没有充分的理由让代码在网络上可见。最好的课程是什么?

【问题讨论】:

  • wordpress 网站的根目录是所有 wp-content 和 wp-admin 以及所有这些东西所在的地方,您不必将那个 api 客户端放在那里...
  • 我希望我没有;没有理由让它在网络上可见,也有充分的理由不这样做。但是应该我把它放在哪里,然后我如何让它在 Wordpress 代码中可见?

标签: wordpress google-api-php-client


【解决方案1】:

您可以将google-api 放入创建的目录,例如library/includes 到您的主题文件夹中,然后包含在functions.php

例如,在我的主题目录中,我有一个名为 lib 的文件夹,里面有一个 framework.php,用于存放我构建的框架。我简单使用

require_once locate_template( '/lib/framework.php' );

functions.php 中调用它。

这样您就可以使用 wordpress 函数及其函数...

【讨论】:

  • 有趣。将它与特定主题联系起来似乎很奇怪。这在概念上是可以在任何地方使用的全局资源代码,与我的特定主题无关。
  • 不关注,您的 wordpress 网站一次使用一个主题?除非您使用的是多站点,否则我不确定您的意思..
  • 将特定于我的主题的内容放在主题目录中是有意义的。将可广泛使用的东西(例如 Google API 客户端代码),甚至可能来自与 wordpress 完全无关的 php 代码,放在 wordpress 主题目录中似乎是短视的。如果这是 Perl,我会将它放在 Perl5 库目录中,或者更改 Perl5 库路径以指向新目录。 php的等价物是什么?或者其他任何为 php 添加了 Google API 客户端的人,你是怎么做到的?
  • 所以你为什么不把它放在根目录下,并更改权限或 htaccess,这样除了你之外没有人可以访问该文件夹.. 意思是如果你有问题,他们无法挖掘它进入主题或将目录放在插件,上传目录所在的 wp-content 中。如果你愿意,你可以把它变成一个 wordpress 插件......
  • 也许我是老派,但我反对将库代码放在 httpdocs 下。这是错误的做法。我会想办法的。感谢大家的帮助。
【解决方案2】:

我最终做了什么:

我创建了一个新的“libphp”目录,与“httpdocs”同级,并将“google-api-php-client”放在该目录下。

然后,在需要使用该库的php文件中,我这样做了:

<?php
$path = "/absolute/path/to/libphp";
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

require_once 'google-api-php-client/src/Google_Client.php';
require_once 'google-api-php-client/src/contrib/Google_FusiontablesService.php';

效果很好,并且实现了将 lib 代码排除在 httpdocs 树之外的目标。可能有一种方法可以将其添加到全局包含路径中,从而避免 set_include_path 调用,但现在可以这样做。

【讨论】:

    猜你喜欢
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2014-02-16
    相关资源
    最近更新 更多