Jay*_*pee 7 wordpress advanced-custom-fields
我正在尝试填充高级自定义字段的无线电字段,从多站点安装主博客中的自定义帖子类型中提取数据.
为了更好地理解,我制作了这个简单的流程图.

所以我创建了一个函数,以便从主博客中提取数据并在子站点上显示为广播项目.
该函数看起来像这样,我用它作为参考
function getctas($field) {
$field['choices'] = array();
switch_to_blog(1);
$args = array(
'post_type' => 'location_icons',
'posts_per_page' => '-1',
);
$ctas = new WP_Query( $args );
while ( $ctas->have_posts()) {
$ctas->the_post();
$choices = get_field('icon',false);
$choices = explode("\n", $choices);
foreach( $choices as $choice ):
$field['choices'][ $choice ] = '<img src="'.$choice.'"/>';
endforeach;
}
restore_current_blog();
return $field;
}
add_filter('acf/load_field/name=call_to_action_icon', 'getctas');
Run Code Online (Sandbox Code Playgroud)
我正确地列出了选项(选项是图像),我成功地icon从主博客中取出了该字段并将其作为无线电标签和值.
我遇到的问题是,当我在孩子的页面模板上查询帖子时保存帖子后,我得到了正确的图片,但博客1上的帖子标题重复了.理想的是:
而我得到的是:
没有说明
正确的形象
等等.
如果你们中的任何人需要更多的澄清来帮助我解决这个问题,我很乐意进一步解释.
请global $switched;在切换到主博客之前声明一下,如果声明全局变量后不起作用,那么wp似乎没有切换回当前博客,请尝试这个
在切换到主博客之前获取当前博客 ID$current_site =get_current_blog_id();
一旦你完成了。使用将其切换回来
switch_to_blog( $current_site );
$GLOBALS['_wp_switched_stack'] = array();
$GLOBALS['switched'] = FALSE;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |