在Vanilla PHP中访问WordPress函数get_permarink()?

时间:2020-08-20 作者:stkmedia

简单的问题。我正在尝试使用get_permalink() 但无法访问它。我有include_once 所有这些“;“已使用”;文件:

wp设置。php包含/加载wp。php包含/链接模板。php包含/重写wp。php包含/函数。php和10个其他文件。如何访问get_permalink()?

2 个回复
最合适的回答,由SO网友:stkmedia 整理而成

我解决了。此文件加载Wordpress并使功能可访问。

include_once("wp-load.php");
然后能够

$id = $rowa["ID"];  //from MySQL fetch array
$permalink = get_permalink(number_format($id));

SO网友:admcfajn

这个developer\'s reference 是一个很好的起点。你会发现get_permalink 在里面wp-includes/link-template.php.

你可能想调查一下wp-cli wp post list --post__in=1 --field=url 应该做到这一点as discussed in wp-cli issue#2727

此外,还有rest-api 考虑。获取永久链接的最佳解决方案可能是将请求发布/卷曲到WordPress的rest api以获取所需的永久链接。

这个问题可能是一个很好的起点:WP JSON list all permalinks

例如,您可以执行以下操作:curl https://example.com/wp-json/wp/v2/posts/<id>curl https://example.com/wp-json/wp/v2/pages/<id>

&;然后找到guid / 从那里永久链接。