J'ai déjà créé un type d'article personnalisé avec un support post-format déclaré.
register_post_type('portfolio', array(
'labels' => array(
'name' => __('Portfolio', "xxx"),
'singular_name' => __('Portfolio', "xxx")
),
'public' => true,
'menu_position' => 5,
'rewrite' => array('slug' => 'portfolio'),
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments', 'revisions', 'custom-fields', 'post-formats' )
)
);
Cependant, lorsque je vais dans l'outil d'exportation Wordpress et que j'essaie d'exporter des publications sous ce type de publication personnalisé, j'ai vérifié le fichier xml exporté et constaté qu'il n'exporte pas la valeur post-format des publications.
Existe-t-il une solution à ça?
Après avoir passé du temps à déboguer export.php, j'ai constaté que nous devions enregistrer la taxonomie post_format pour notre type de publication personnalisé.
register_taxonomy( 'post_format', 'portfolio', array(
'public' => true,
'hierarchical' => false,
'labels' => array(
'name' => _x( 'Format', 'post format' ),
'singular_name' => _x( 'Format', 'post format' ),
),
'query_var' => true,
'rewrite' => $rewrite['post_format'],
'show_ui' => false,
'_builtin' => true,
'show_in_nav_menus' => current_theme_supports( 'post-formats' ),
) );
Aussi simple que ça!
Je me débattais aussi avec ça. Votre solution a fonctionné, jusqu'à ce que je découvre qu'elle supprimera la taxonomie de format de message pour les types de message normaux!
Après avoir fouillé dans les fichiers de base, j'ai trouvé cette fonction qui fait exactement ce dont nous avons besoin:
register_taxonomy_for_object_type( 'post_format', 'portfolio' );
Voir Codex .