我一直试图让wordpress函数在独立的PHP文件中运行。根据wordpress应该是添加以下行的简单情况:
require( dirname(dirname(dirname(__FILE__))) . '/vendor/wordpress/wp-blog-header.php');
其中' dirname(dirname(dirname( FILE )))。 ' /供应商/ WordPress的/'是我的wordpress安装的位置。但是这会返回错误:
Fatal error: Call to undefined function wp() in /vendor/wordpress/wp-blog-header.php on line 16
我也尝试过:
require( dirname(dirname(dirname(__FILE__))) . '/vendor/wordpress/wp-load.php');
但是这不能识别任何功能,例如:
Fatal error: Call to undefined function wp_get_recent_posts() in index.php on line 30
我在网上找不到任何答案,请帮忙:/
答案 0 :(得分:0)
我认为问题是您的文件未加载到包含的位置。
require_once dirname(__FILE__) . '/../../../wp-load.php';
请尝试让我知道。
答案 1 :(得分:0)
如果您的文件位于wordpress目录中,请使用如下所示..
require_once(ABSPATH . 'wp-load.php');
或
如果你的文件不在wordpress目录中,请像这样使用,
require_once __DIR__ . '/vendor/wordpress/wp-load.php';
希望这会对你有所帮助!!
答案 2 :(得分:0)
感谢所有帮助我找到问题解决方案的人。在这个例子中,问题是wp-config.php文件中的ABSPATH设置。由于wordpress目录与配置文件是分开的,因此需要更新ABSPATH以正确指向wordpress目录:
import csv
from geopy.geocoders import ArcGIS
from geopy.distance import vincenty
geolocator = ArcGIS()
# data to write in file
new_rows_list = []
# read file and generate data to write back
with open('ttest.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
trip = list(map(lambda x: geolocator.geocode(x), row))
distanceKm = sum(list(map(lambda x, y: vincenty(x.point, y.point).km, trip[:-1], trip[1:])))
distanceMiles = sum(list(map(lambda x, y: vincenty(x.point, y.point).miles, trip[:-1], trip[1:])))
row.append(distanceKm)
row.append(distanceMiles)
new_rows_list.append(row)
# write back to file
with open('ttest.csv', newline='', mode='w') as csvfile:
writer = csv.writer(csvfile)
writer.writerows(new_rows_list)
希望这会对其他人有所帮助。