【问题标题】:Call an external function inside wordpress code在 wordpress 代码中调用外部函数
【发布时间】:2014-04-14 00:03:07
【问题描述】:

wordpress 会忽略国外的 php 代码吗?我正在尝试在 wordpress 的根 index.php 上这一行下方的外部类中抛出一个函数调用

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );

这是我的函数调用

require_once($_SERVER['DOCUMENT_ROOT']."/modules/Site-Traffic/Site-Traffic.php");
//Create traffic object for tracking who is hitting this page
$site_traffic = new Site_Traffic();
$site_traffic->SetTrafficLog();

这是在这个函数中发生的事情。

  • 设置正确的数据库、表、用户名、密码
  • 检查查询字符串参数以查找要在函数中跟踪的特殊情况
  • 如果函数看到一个特殊的参数情况,它会通过创建一个 sql 语句然后调用我的 mysqli连接库
  • 然后库获取 sql 语句、数据库、表、用户名和密码,并将站点流量调用插入到 对应的表格。

我在 wordpress 之外的所有页面上都使用它,它工作正常,但在 index.php 页面上它根本不起作用。

我能够从 wordpress index.php 页面中回显出 sql 语句、数据库、表、用户名和密码,所以我知道它已经达到了这一点。

已编辑:使问题更加明显和具体

【问题讨论】:

  • 别抱歉,具体点:stackoverflow.com/help/mcve
  • 如果您正在编辑 Wordpress 的核心 index.php 文件,则不应这样做。如果您正在为您的主题编辑 index.php 文件,它可能无法按照您的预期工作...... index.php 文件通常不用于显示页面。根据使用的页面或模板,您的主题可能会使用诸如 page.php 或 single.php 或 front-page.php 之类的文件。也许这会有所帮助:codex.wordpress.org/Template_Hierarchy

标签: php mysql wordpress


【解决方案1】:

将其放入自定义插件或主题的 functions.php 中。

下面是我的做法:

创建以下文件(包括目录):/your-wp-root/wp-content/plugins/wpse-site-traffic/wpse-site-traffic.php

/**
 * Plugin Name: WPSE Site Traffic
 * Description: Woohoo - Site Traffic moved to a plugin.
 * Version: 1.0
 * Author: Dom
 */

// Load Site_Traffic Class.
require_once( ABSPATH . 'modules/Site-Traffic/Site-Traffic.php' );

/**
 * Create traffic object for tracking who is hitting this page. Hook
 * it into 'plugins_loaded' to run early.
 */
function wpse_site_traffic_load() {
    $site_traffic = new Site_Traffic();
    $site_traffic->SetTrafficLog();
}
add_action( 'plugins_loaded', 'wpse_site_traffic_load' );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-16
    • 2013-02-06
    • 2021-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多