Je veux ajouter l'ID des catégories à la page d'administration. Je l'appelle pour mon functions.php
: require_once('includes/categories_custom_id.php');
La partie du code:
function categoriesColumnsHeader($columns) {
$columns['catID'] = __('ID');
return $columns;
}
add_filter( 'manage_categories_columns', 'categoriesColumnsHeader' );
function categoriesColumnsRow($argument, $columnName, $categoryID){
if($columnName == 'catID'){
return $categoryID;
}
}
add_filter( 'manage_categories_custom_column', 'categoriesColumnsRow', 10, 3 );
Mais ça ne marche pas. Une idée, comment faire ça?
Merci d'avance.
Les crochets pour les taxonomies sont:
"manage_edit-${taxonomy}_columns"
pour l'en-tête"manage_edit-${taxonomy}_sortable_columns"
pour rendre les colonnes triables"manage_${taxonomy}_custom_column"
pour le contenu de la cellulePour attraper toutes les taxonomies, écrivez:
foreach ( get_taxonomies() as $taxonomy ) {
add_action( "manage_edit-${taxonomy}_columns", 't5_add_col' );
add_filter( "manage_edit-${taxonomy}_sortable_columns", 't5_add_col' );
add_filter( "manage_${taxonomy}_custom_column", 't5_show_id', 10, 3 );
}
add_action( 'admin_print_styles-edit-tags.php', 't5_tax_id_style' );
function t5_add_col( $columns )
{
return $columns + array ( 'tax_id' => 'ID' );
}
function t5_show_id( $v, $name, $id )
{
return 'tax_id' === $name ? $id : $v;
}
function t5_tax_id_style()
{
print '<style>#tax_id{width:4em}</style>';
}
Vous avez eu presque tout droit, mais les noms de crochet, où avez-vous obtenu ceux-ci?
Ce qui suit sont les bons. J'ajoute deux fonctions supplémentaires, l'une ajoutera notre colonne en tant que première (au lieu d'être la dernière, je suppose que cela a plus de sens pour une colonne ID). Et le second est un correctif CSS simple pour la largeur de la colonne.
_ {Code basé sur ce Q & A: Multisite - Protéger les catégories de la suppression? _
add_filter( 'manage_edit-category_columns', 'wpse_77532_cat_edit_columns' );
add_filter( 'manage_category_custom_column', 'wpse_77532_cat_custom_columns', 10, 3 );
add_action( 'admin_head-edit-tags.php', 'wpse_77532_column_width' );
/**
* Register the ID column
*/
function wpse_77532_cat_edit_columns( $columns )
{
$in = array( "cat_id" => "ID" );
$columns = wpse_77532_array_Push_after( $columns, $in, 0 );
return $columns;
}
/**
* Print the ID column
*/
function wpse_77532_cat_custom_columns( $value, $name, $cat_id )
{
if( 'cat_id' == $name )
echo $cat_id;
}
/**
* CSS to reduce the column width
*/
function wpse_77532_column_width()
{
// Tags page, exit earlier
if( 'category' != $_GET['taxonomy'] )
return;
echo '<style>.column-cat_id {width:3%}</style>';
}
/**
* Insert an element at the beggining of the array
*/
function wpse_77532_array_Push_after( $src, $in, $pos )
{
if ( is_int( $pos ) )
$R = array_merge( array_slice( $src, 0, $pos + 1 ), $in, array_slice( $src, $pos + 1 ) );
else
{
foreach ( $src as $k => $v )
{
$R[$k] = $v;
if ( $k == $pos )
$R = array_merge( $R, $in );
}
}
return $R;
}
Résultat: