Пользовательские типы записей: Можно ли добавить в столбец более одной переменной?
( Поскольку мой пользовательский тип записи немного длинноват, я для простоты скопировал его поверх фиктивного)
Что я пытаюсь сделать, так это, скажем, описать несколько "похожих" переменных, т. Е. price1, price2, price3 и т.д. смогу ли я сложить эти значения в один столбец (в отличие от отображения их в 3 столбцах), т.Е. $price1<br />$price2<br />$price3
? Причины чисто эстетические, так как в противном случае столбцы пользовательского типа сообщений были бы очень быстро переполнены.
Спасибо ты! (как уже было сказано, приведенная ниже часть не является фактическим кодом, который я использую, но я подумал, что было бы хорошо, если бы кто-то другой искал то же самое)
add_filter("manage_edit-product_columns", "prod_edit_columns");
add_action("manage_posts_custom_column", "prod_custom_columns");
function prod_edit_columns($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"title" => "Product Title",
"description" => "Description",
"price1" => "Price1",
"catalog" => "Catalog",
);
return $columns;
}
function prod_custom_columns($column){
global $post;
switch ($column)
{
case "description":
the_excerpt();
break;
case "price": // Now here I have to define the field, but how would I drag in other subsequent price fields?
$custom = get_post_custom();
echo $custom["price"][0];
break;
case "catalog":
echo get_the_term_list($post->ID, 'catalog', '', ', ','');
break;
}
}
1 answers
Да, вы можете сделать именно это. вам нужно только изменить выходную функцию, которая в данном случае является
function prod_custom_columns($column){
global $post;
switch ($column)
{
case "description":
the_excerpt();
break;
case "price": // Now here I have to define the field, but how would I drag in other subsequent price fields?
$custom = get_post_custom();
echo $custom["price"][0];
break;
case "catalog":
echo get_the_term_list($post->ID, 'catalog', '', ', ','');
break;
}
}
Чтобы отобразить то, что вы хотите для каждого столбца, скажите, что ваша цена изменит ее на что-то вроде:
case "price": // Now here I have to define the field, but how would I drag in other subsequent price fields?
$custom = get_post_custom();
echo $custom["price"][0];
echo 'br />';
echo $custom["another_FIELD"][0];
echo 'br />';
echo $custom["yet_another_FIELD"][0];
break;
Надеюсь, это поможет