我正在结帐页面上对现有的 WordPress 站点进行更改,以便当用户键入郊区/邮政编码时,它会从数据库中查找列表。
我可以从包含连接的 Wordpress 目录中包含它们的 PHP 文件,而不是编写连接到 MySQL 的代码?
如果没有,他们在包括wp-config.php
获取数据库详细信息并从他们那里连接方面是否有任何问题?
包含必要的文件后,您可以使用 WPDB,更改目录以满足您的需要:
include_once $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/wp-load.php';
include_once $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php';
哦,如果你不知道它是什么:http ://codex.wordpress.org/Class_Reference/wpdb
我可能会补充一点,更好的方法是包含这两行以访问所有 WordPress 函数和类:
define( 'WP_USE_THEMES', false );
require('wp-blog-header.php'); #adapt to match your path
WP_USE_THEMES
设置为不false
加载主题文件。
当我使用
require_once "../wp-config.php";
我收到错误“抱歉,您不能继续”
这是因为 wp-config.php 包含 wp-settings.php 并继续连接其他文件。因此,如果您在目录中创建空文件 wp-settings.php 并将 ABSPATH 重新声明到您的目录,则可以在脚本中使用 wp-config.php。这是示例:
创建空文件 yourDirName/wp-settings.php
使用此代码连接 wp-config.php
定义('ABSPATH','yourDirName/');要求一次“../wp-config.php”;
如果您只想要access to wp-config.php
没有其余的 Wordpress 功能。
执行以下步骤:
wp-settings.php
1:在你的插件目录中创建一个空文件
2:将此添加到您的 php 文件中
define( 'ABSPATH', $_SERVER['DOCUMENT_ROOT'].'/wp-content/plugins/YOUR_PLUGIN_DIR/' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
这非常适合WordPress 4.2.4
“上下”,我在我们自己的插件 mywebapplet 中对其进行了测试。