J'ai créé un simple plugin pour notre site WP afin de nous permettre d'entrer dans les produits que nous expédions.
Pour ce faire, j'ai créé un nouveau type de publication appelé 'order_packing' et, dans ce cas, deux nouveaux statuts de publication: 'En emballage', 'Envoyé'.
Le problème que j'ai est que la liste affiche correctement les listes de colisage dans le total ALL (2) - mais ne répertorie pas les listes de colisage. Si je clique sur le statut "Envoyé", les deux éléments apparaissent dans la liste. Donc, mon problème est que les données sont là, mais elles ne s'affichent pas sous l'onglet ALL.
Voici le code qui crée le type de message, cela fonctionne parfaitement
enter code here register_post_type( 'order_packing',
array(
'labels' => array(
'name' => __( 'Order Packing', 'tgplugin' ),
'singular_name' => _x( 'Order Packing', 'order_packing post type singular name', 'tgplugin' ),
'add_new' => __( 'Add Packing List', 'tgplugin' ),
'add_new_item' => __( 'Add Packing List', 'tgplugin' ),
'edit' => __( 'Edit', 'tgplugin' ),
'edit_item' => __( 'Edit Packing List', 'tgplugin' ),
'new_item' => __( 'New Packing List', 'tgplugin' ),
'view' => __( 'View Packing List', 'tgplugin' ),
'view_item' => __( 'View Packing List', 'tgplugin' ),
'search_items' => __( 'Search Packing Lists', 'tgplugin' ),
'not_found' => __( 'No Packing Lists found', 'tgplugin' ),
'not_found_in_trash' => __( 'No Packing Lists found in trash', 'tgplugin' ),
'parent' => __( 'Parent Packing List', 'tgplugin' ),
'menu_name' => _x( 'Stock Packing List', 'Admin menu name', 'tgplugin' ),
'filter_items_list' => __( 'Filter Packing Lists', 'tgplugin' ),
'items_list_navigation' => __( 'Packing List navigation', 'tgplugin' ),
'items_list' => __( 'Packing Lists', 'tgplugin' ),
),
'description' => __( 'This is where Packing Lists are stored.', 'tgplugin' ),
'public' => false,
'show_ui' => true,
'capability_type' => 'packing_list',
'map_meta_cap' => true,
'publicly_queryable' => false,
'exclude_from_search' => true,
'show_in_menu' => true,
'hierarchical' => false,
'show_in_nav_menus' => false,
'menu_position' => 100,
'rewrite' => false,
'query_var' => false,
'supports' => array( 'title', 'comments', 'custom-fields' ),
'has_archive' => false,
)
);
Voici les statuts personnalisés pour ce type de publication personnalisé.
register_post_status( 'inpacking', array(
'label' => _x( 'In Packing', 'Order packing' ),
'public' => false,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'In Packing <span class="count">(%s)</span>', 'In Packing <span class="count">(%s)</span>' ),
) );
register_post_status( 'sent', array(
'label' => _x( 'Sent', 'Order packing' ),
'public' => false,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Sent <span class="count">(%s)</span>', 'Sent <span class="count">(%s)</span>' ),
) );
Enfin, voici deux images montrant le problème.
Je me suis gratté la tête et ai cherché et cherché, j'ai trouvé ce post mais il n'y a pas de réponse.
J'espère que quelqu'un pourra m'aider à sauver ma santé mentale!
A bientôt Colin
Vous devez définir l’argument public
sur true
. De cette façon, le message avec 'inpacking' ou 'envoyé' post_status
s'affichera également au total.
Donc, votre code devrait être comme ça:
register_post_status( 'inpacking', array(
'label' => _x( 'In Packing', 'Order packing' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'In Packing <span class="count">(%s)</span>', 'In Packing <span class="count">(%s)</span>' ),
) );
register_post_status( 'sent', array(
'label' => _x( 'Sent', 'Order packing' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Sent <span class="count">(%s)</span>', 'Sent <span class="count">(%s)</span>' ),
) );