J'ai une autre question idiote, mais je ne peux rien avoir :)
J'ai trouvé ce très bon article sur la création de types d'articles personnalisés:
http://thinkvitamin.com/code/create-your-first-wordpress-custom-post-type/
Je ne sais pas comment fonctionne l'étape 4.
Ce gars écrit:
add_action("manage_posts_custom_column", "portfolio_custom_columns");
add_filter("manage_edit-portfolio_columns", "portfolio_edit_columns");
function portfolio_edit_columns($columns){
$columns = array(
"cb" => "<input type=\"checkbox\" />",
"title" => "Portfolio Title",
"description" => "Description",
"year" => "Year Completed",
"skills" => "Skills",
);
return $columns;
}
function portfolio_custom_columns($column){
global $post;
switch ($column) {
case "description":
the_excerpt();
break;
case "year":
$custom = get_post_custom();
echo $custom["year_completed"][0];
break;
case "skills":
echo get_the_term_list($post->ID, 'Skills', '', ', ','');
break;
}
}
J'ai deux types de publications différents ("livres" et "films").
Et je ne vois pas comment lier ce code avec le bon!
Je suis sûr qu'il me manque quelque chose (probablement dans le code), mais je ne l'ai pas vu inclure "portfolio_edit_columns" dans le code.
J'ai trouvé ceci dans WP Codex: http://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column et il semble que
manage_edit - $ {post_type} _columns
fait la magie, mais j'ai essayé à la fois manage_edit-books_columns et manage_edit-movies_columns et rien! :)
Alors, comment créer deux mises en page de colonnes distinctes pour différents types de publication?
Le code de ThinkVitamin est correct. Je pense que le problème est venu d'ailleurs où dans votre code.
En fait, le hook manage_edit-${post_type}_columns
prend un argument $columns
qui est un tableau de toutes les colonnes enregistrées. Pour ajouter une nouvelle colonne, ajoutez simplement un nouvel élément à ce tableau, comme ceci:
add_filter('manage_edit-film_columns', 'my_columns');
function my_columns($columns) {
$columns['views'] = 'Views';
return $columns;
}
Ce post a plus de détails qui pourraient vous aider.
C'est encore plus facile que vous ne le croyez.
Vous avez ces deux fonctions sur wp:
manage_posts_columns (notice the "posts" part)
and
manage_posts_custom_column (again "posts")
Vous avez la même chose pour les pages, "manage_page_posts_columns" et "manage_page_posts_custom_column" (remarquez la partie "page_posts")
Donc, si vous avez besoin d’ajouter ces colonnes pour le type de post x, il vous suffit de faire comme ceci, sans indiquer que le nom de votre type de post personnalisé est "movie", puis:
manage_movie_posts_columns()
manage_movie_posts_custom_column()
Notez la partie "movie_posts", c'est pourquoi vous voyez quelque chose comme "manage_ {custom_type} _posts_columns" sur les pages de codex.
Pour un type personnalisé "livres":
manage_books_posts_columns()
manage_books_posts_custom_column()
Et ainsi de suite ... compris?
Jetez un coup d'œil à la façon dont le $ arg de réécriture de votre type d'article personnalisé est.
Pour obtenir une meilleure vue des données de sortie, il suffit de faire quelque chose comme:
echo '<pre>';
print_r($custom_post_type_obj);
echo '</pre>';
sur l'objet de type post lors de l'interrogation.