如何从我的另一个WordPress获取“高级自定义字段”数据?

时间:2019-01-23 19:41:07

标签: mysql database wordpress advanced-custom-fields

我创建了一个网站,在那里我提供了该公司的一些服务。现在,我为他们创建了一个新服务,我需要再次展示这些服务。

我是使用“高级自定义字段”和自定义模板完成的,所以我的问题是:

我现在可以连接到第一个网页的数据库,检索自定义字段数据并将其显示给第二个网页吗?

问题在于必须同时更新它,因此我需要对两者使用相同的数据库。

我已经看到我可以连接到外部数据库:

$mydb = new wpdb( 'username', 'password', 'database', 'localhost' );
$rows = $mydb->get_results( "select Name from my_table" );

但是我查询了第一个数据库,但没有找到应该存储该信息的位置。这些信息保存在哪里?

有什么主意吗?

2 个答案:

答案 0 :(得分:2)

要连接到远程数据库,远程服务器应打开以进行外部连接,几乎所有主机都不允许这样做。

最好的做法是使用WP REST API创建一个instances=`aws ec2 describe-instances ` echo $instances | jq '.Reservations[].Instances[] | "[\(.InstanceId) \(.Platform) \(.State.Name) \(.PrivateIpAddress) \(.PublicIpAddress) \(.InstanceType) \(.PublicDnsName) \(.KeyName)]"' ,您可以从外部站点使用它。

答案 1 :(得分:1)

来自ACF的数据将保存到相应帖子类型的元表中,例如wp_postmeta。在此处,找到带有字段名称的meta_key。总是应该有两个:一个以下划线开头,这是对字段定义的引用;另一个没有下划线,其中包含相应帖子ID的实际数据。

由于您没有详细说明所需的信息量以及如何显示数据,因此需要从那里获取数据。但: 如果您不仅需要检索和显示字段信息,还将使事情迅速变得复杂(并可能导致危险)。确保创建一个只读帐户以连接到另一个数据库。此外,如果原始数据库位于另一台主机上,则可能会遇到有关防火墙和SQL配置(仅限本地主机配置等)的多个问题。 虽然基本上任何事情在技术上都是可能的,例如通过使用视图,数据库同步等方式“链接”到另一个数据库,我强烈建议保持简单,并考虑简单的计划导出+将所需信息导入到单独的数据库中,然后从那里获取信息。