Wordpress功能在自定义文件中

时间:2017-03-21 09:39:46

标签: php wordpress function

我一直试图让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

我在网上找不到任何答案,请帮忙:/

3 个答案:

答案 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)

希望这会对其他人有所帮助。