如何在Wordpress中使用类别ID或名称获取小部件数据?

Bad*_*nki 4 php wordpress wordpress-plugin

我正在使用WordPress的默认类别小部件。选择类别并从该小部件输入标题后,我必须在自定义模板中显示该类别的帖子。

如何检索标题,类别ID等自定义数据?

kau*_*hik 5

function rh_get_widget_data_for($sidebar_name) {
    global $wp_registered_sidebars, $wp_registered_widgets;
    $output = array();
    $sidebar_id = false;
    foreach ($wp_registered_sidebars as $sidebar) {
        if ($sidebar['name'] == $sidebar_name) {
            $sidebar_id = $sidebar['id'];
            break;
        }
    }
    if (!$sidebar_id) {
        return $output;
    }
    $sidebars_widgets = wp_get_sidebars_widgets();
    $widget_ids = $sidebars_widgets[$sidebar_id];
    if (!$widget_ids) {
        return array();
    }
    foreach ($widget_ids as $id) {
        $option_name = $wp_registered_widgets[$id]['callback'][0]->option_name;
        $key = $wp_registered_widgets[$id]['params'][0]['number'];
        $widget_data = get_option($option_name);
        $output[] = (object) $widget_data[$key];
    }
    return $output;
}

//call this function 
rh_get_widget_data_for('Widget Name');
Run Code Online (Sandbox Code Playgroud)