我正在开发一个 WordPress 网站,我使用 ACF 在“培训计划”和“工作”之间创建关系。设置如下:
我的目标是在 Elementor 中创建自定义查询,以仅显示与特定培训计划相关的职位。这是我用于查询的代码:
function jobs_query( $query ) {
$jobs_id = get_field('job', get_the_ID());
$query->set( 'post_type', 'job' );
$query->set( 'post__in', $jobs_id );
}
add_action( 'elementor/query/13600', 'jobs_query' );
问题:
当我使用这段代码时,整个页面变成空白。没有显示具体错误,但似乎是自定义查询导致了问题。
为了调试,我在页脚中添加了另一个挂钩来检查
get_field
是否检索到预期数据:
add_action( 'wp_footer', function() {
if ( is_singular( 'training_program' ) ) {
$training_program_id = get_the_ID();
$jobs = get_field( 'job', $training_program_id );
echo '<pre>';
print_r( $jobs );
echo '</pre>';
}
});
使用此代码,相关作业将正确显示。 ACF 字段似乎配置良好,并且关系也已到位。
问题:为什么 Elementor 自定义查询失败,而 get_field 函数却正确检索数据?如何解决此问题以在 Elementor 循环中显示相关作业?
提前感谢您的帮助!
请将必要的 WordPress 和浏览器控制台日志添加到您的问题中。我这样做了,我可以轻松调试问题。