я использую вариант темы пропанель скрипт для опций WordPress темы.
в коде ниже, название категории эха, но я хочу ID категории …
Пожалуйста, помогите мне:
// Grabs Categories from WordPress
$tt_categories = array();
$tt_categories_obj = get_categories('hide_empty=0');
foreach ($tt_categories_obj as $tt_cat) {
$tt_categories[$tt_cat->cat_ID] = $tt_cat->cat_name;}
$categories_tmp = array_unshift($tt_categories, "Select a category:");
//Then you would call it like so in your theme options
//shows a select box in theme options page
$options[] = array( "name" => __('Wordpress Category','framework_localize'),
"desc" => __('Select a category','framework_localize'),
"id" => "wp_category",
"std" => "1",
"type" => "select",
"options" => $tt_categories);
$tt_cat->cat_ID
содержит идентификатор категории.
Если вы хотите, чтобы раскрывающийся список отображал идентификаторы, а не имена, измените
$tt_categories[$tt_cat->cat_ID] = $tt_cat->cat_name;
в
$tt_categories[$tt_cat->cat_ID] = $tt_cat->cat_ID;
Обратите внимание, что в обоих случаях идентификатор категории будет сохранен в качестве значения параметра.
ответил:
ПОЛНЫЙ КОД:
//in theme-setting.php//Access the WordPress Categories via an Array
$tt_categories = array();
$tt_categories_obj = get_categories('hide_empty=0');
foreach ($tt_categories_obj as $tt_cat) {
$tt_categories[$tt_cat->cat_ID] = $tt_cat->cat_name;}
$categories_tmp = array_unshift($tt_categories, "select cat:");
//
$options[] = array( "name" => __('Tabs #1 Category','framework_localize'),
"desc" => __('select cat.','framework_localize'),
"id" => $shortname."_tabs1_category",
"std" => "1",
"type" => "select",
"options" => $tt_categories);
в теме:
global $wpdb;
$wpnews_tabs1_category = $wpdb->get_var("SELECT term_id FROM $wpdb->terms WHERE name='$wpnews_tabs1_category'");