【发布时间】:2017-11-17 18:01:10
【问题描述】:
我有两个 WordPress 安装,一个用作 Intranet,另一个是公共的。我需要从公共站点提取自定义帖子类型的数据,以便在 Intranet 上显示,这样管理员就不需要在每个站点上输入相同的数据。
所以,到目前为止,我已经知道了:
$wpdb = new wpdb(*CONNECTION DETAILS*);
$careers = $wpdb->get_results(
'SELECT *
FROM wp_posts
WHERE post_type = "career-post"'
);
if (!empty($careers)) {
echo '<ul id="careers-list">';
foreach ($careers as $career) {
echo '<li class="career">';
echo '<a class="wrap" href="http://domainname.com/career/'.$career->post_name.'" target="_blank">';
echo '<h2>'.$career->post_title.'</h2>';
echo get_field('career_duration') ? '<p class="duration">('.get_field('career_duration').')</p>' : '<p class="duration">(permanent)</p>';
echo '<h3>'.get_field('career_area').'</h3>';
echo '<p class="description">'.get_field('career_short_description').'</p>';
echo '</a>';
echo '</li>';
}
echo '</ul>';
}
else {
echo '<h2>Sorry, no vacancies are currently listed.</h2>';
}
这会按预期拉入 slug 和标题,但由于 ACF 数据存储在不同的表中,我不确定如何 a) 访问该数据并 b) 将其链接到正确的帖子。
【问题讨论】:
-
在第二个参数中添加帖子ID:get_field('career_duration', $career->ID)
-
思考了几分钟,我得出的结论是,这可能就是这么简单,但是尝试了它,它不起作用,没有任何返回。
标签: php mysql wordpress custom-post-type advanced-custom-fields