php - php wordpress 在钩子内处理并将值同步到钩子外的变量
问题描述
我想要的是我有一个特殊的分类法,并且 get_terms 在没有加载的情况下不起作用,自然我能得到它的唯一方法是连接到“init”。但如果是这种情况,我将不得不重复这一点。我不想要这个。
正如您在下面的代码中看到的那样,我正在 init 中执行操作并尝试将其传输到“$ new_array”。我该怎么做?
protected function get_reactions()
{
$new_array = array();
add_action( 'init', function() use ( &$new_array ) {
$reactions = get_terms( array(
'taxonomy' => 'bp_reaction',
'hide_empty' => false
));
foreach ( $reactions as $value ) {
$priority = get_option( 'taxonomy_'.$value->term_id.'_priority' );
$image = get_option( 'taxonomy_'.$value->term_id.'_image' );
$new_array[$priority] = (object) array(
'id' => $value->term_id,
'priority' => $priority,
'slug' => $value->slug,
'name' => $value->name,
'image' => $image
);
}
}, 9 );
// Sort from largest to small
krsort( $new_array );
return $new_array;
}
解决方案
推荐阅读
- php - 在我的案例中,关于 Laravel 中的控制器和请求的新手问题
- android - Jetpack Compose 焦点请求器不使用对话框
- sails.js - Sailsjs:我们可以在文件上传的 Helper 中编写代码并在任何控制器中调用该 Helper 吗?
- java - 如何在 Android 中使用 JDK 11 HTTP 包
- loops - Terraform 动态组创建
- reactjs - 在 useEffect Hook 中使用 useRef Hook "element.current" 为 null
- grapesjs - ReferenceError:在初始化之前无法访问“dtime”
- react-native - react-native 是否支持 Pintura 编辑器?
- python - Tensorflow 模型中的形状不匹配
- python - 基于其他字典在python中向字典添加键和值