Intereting Posts
Пользовательская структура Permalink для пользовательского типа сообщения, пользовательская таксономия, под страницей Как сделать плагин по теме? Почему javascript работает только при входе в систему? Существует ли плагин сравнения изображений? Как создать страницу параметров WordPress Создание шаблона страницы с некоторым статическим содержимым Показывать дату публикации публикации от 2112 Мусорный ящик для категорий Попытка выяснить, почему моя дочерняя тема пытается получить доступ к файлу, который не существует Не удалось получить имя и URL-адрес категории Объединение пользовательских типов сообщений и категории сообщений Запрос, который дважды присоединяется к таблице postmeta Запрос в иерархическом настраиваемом типе сообщений для детей и братьев и сестер WP API DELETE запрос из jquery ajax Вызов последних сообщений из настраиваемой группы полей для отображения на первой странице

Пользовательские столбцы типа столбцов странные проблемы

У меня есть 4 пользовательских типа сообщений в моей теме. Когда я добавляю столбец описания (the_excerpt) для них, я получаю действительно странное поведение.

Столбец описания повторяется 4 раза в каждом столбце в каждом настраиваемом типе сообщения. Также получите уведомление PHP, от которого я не могу избавиться.

Как это:

Notice: Trying to get property of non-object in H:\htdocs\wp-content\themes\mytheme\admin_includes\other\excerpt.php on line 10 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Notice: Trying to get property of non-object in H:\htdocs\wp-content\themes\mytheme\admin_includes\other\excerpt.php on line 10 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Notice: Trying to get property of non-object in H:\htdocs\wp-content\themes\mytheme\admin_includes\other\excerpt.php on line 10 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Notice: Trying to get property of non-object in H:\htdocs\wp-content\themes\mytheme\admin_includes\other\excerpt.php on line 10 Lorem ipsum dolor sit amet, consectetur adipiscing elit. 

Вот мой код для настраиваемого типа сообщения. Код один и тот же для каждого отдельно от имени типа сообщения.

 <?php add_action('init', 'testimonials_register'); function testimonials_register() { $labels = array( 'name' => _x('Testimonials', 'post type general name'), 'singular_name' => _x('Testimonial', 'post type singular name'), 'add_new' => _x('Add New', 'Testimonial'), 'add_new_item' => __('Add New Testimonial'), 'edit_item' => __('Edit Testimonial'), 'new_item' => __('New Testimonial'), 'view_item' => __('View Testimonial'), 'search_items' => __('Search Testimonials'), 'not_found' => __('Nothing found'), 'not_found_in_trash' => __('Nothing found in Trash'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'menu_icon' => get_stylesheet_directory_uri() . '/images/icons/testimonials-admin.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'rewrite' => array( 'slug' => 'testimonials', 'with_front' => FALSE, ), 'supports' => array('title','editor','thumbnail') ); register_post_type( 'testimonials' , $args ); } add_action("manage_posts_custom_column", "testimonials_custom_columns"); add_filter("manage_edit-testimonials_columns", "testimonials_edit_columns"); function testimonials_edit_columns($columns){ $columns = array( "cb" => "<input type=\"checkbox\" />", "title" => "Testimonial Title", "description" => "Description" ); return $columns; } function testimonials_custom_columns($column){ global $post; switch ($column) { case "description": the_excerpt(); break; } } ?> 

Я не понимаю, почему столбец описания повторяется столько раз, сколько у меня есть пользовательские типы сообщений. Кроме того, я действительно не могу понять уведомление PHP.

Я разрабатываю локально на сервере LAMP, а моя версия WP – 3,3.

Было бы очень полезно помочь. Благодаря!

Проработал! Начиная с версии WP 3.1, крючок для добавления столбцов к пользовательским типам сообщений изменился.

До 3.1 это было:

 add_action("manage_posts_custom_column", "testimonials_custom_columns"); 

После 3.1 вы должны использовать это:

 add_action("manage_testimonials_posts_custom_column", "testimonials_custom_columns"); 

Поэтому вам нужно указать имя настраиваемого типа сообщения в hook_post_custom_column hook.

Надеюсь, этот ответ спасет кого-то некоторое время.