Voici ma situation: j'essaie de filtrer le contenu de la colonne de titre dans mon tableau d'édition de type d'article personnalisé mais je ne parviens pas à le faire fonctionner.
Voici ce que j'ai essayé:
add_filter('manage_edit-mycpt_columns', 'replace_title_products');
function replace_title_products() {
$oldtitle = get_the_title();
$newtitle = str_replace(array("<span class='sub-title'>", "</span>"), array("", ""),$oldtitle);
$title = esc_attr($newtitle);
return $title;
}
Je veux juste filtrer les tags <span>
dans mon titre. Quelqu'un peut-il m'aider, s'il vous plaît?
J'ai mal compris ce que tu voulais - évidemment. Vous pouvez faire ça comme ça:
add_action(
'admin_head-edit.php',
'wpse152971_edit_post_change_title_in_list'
);
function wpse152971_edit_post_change_title_in_list() {
add_filter(
'the_title',
'wpse152971_construct_new_title',
100,
2
);
}
function wpse152971_construct_new_title( $title, $id ) {
//print_r( $title );
//print_r( $id );
return 'new';
}
Utilisation du admin_head-$hook_suffix
hook.
(Avertissement: garder ceci, parce que c'est lié et une bonne information)
En outre, vous n'utilisez ni ne remplacez le titre de la table des colonnes. Ci-dessous quelques exemples de code sur la façon de le faire:
Basé sur le manage_{$this->screen->id}_columns
hook
add_filter(
'manage_edit-post_columns',
'wpse152971_replace_column_title_method_a'
);
function wpse152971_replace_column_title_method_a( $columns ) {
//print_r($columns);
$columns[ 'title' ] = 'new title';
return $columns;
}
Basé sur le manage_{$post_type}_posts_columns
hook
add_filter(
'manage_post_posts_columns',
'wpse152971_replace_column_title_method_b'
);
function wpse152971_replace_column_title_method_b( $posts_columns ) {
//print_r($posts_columns);
$posts_columns[ 'title' ] = 'new title';
return $posts_columns;
}
Enfin, le code suivant est pratique pour obtenir les informations dont vous avez besoin:
add_action( 'admin_head', 'wpse152619_dbg_dev' );
function wpse152619_dbg_dev() {
global $pagenow;
print_r( $pagenow );
echo '<br>';
print_r( $_GET[ 'taxonomy' ] );
echo '<br>';
$current_screen = get_current_screen();
print_r( $current_screen->id );
}
Je viens de faire quelque chose de similaire il y a quelques heures. Mon code n'est peut-être pas le meilleur, mais vous devez utiliser deux crochets pour y parvenir. Comme vous semblez utiliser un type de message personnalisé d'après ce que j'ai vu dans votre code, ces deux crochets seraient.
manage_post_type_posts_columns ()
manage_post_type_posts_custom_column ()
J'ai utilisé le point d'ancrage du filtre manage_post_type_posts_columns()
pour créer une nouvelle colonne de titre. J'ai également supprimé le point d'ancrage de l'action, puis le point d'ancrage de l'action manage_post_type_posts_custom_column()
, pour utiliser ma propre méthode afin de générer le nouveau contenu/titre de cette colonne.
J'espère que cela vous aidera, avez également ajouté votre code ...
// Replace your Title Column with the Existing one //
function replace_title_column($columns) {
$new = array();
foreach($columns as $key => $title) {
if ($key=='title')
$new['new-title'] = 'New Title'; // Our New Colomn Name
$new[$key] = $title;
}
unset($new['title']);
return $new;
}
// Replace the title with your custom title
function replace_title_products($column_name, $post_ID) {
if ($column_name == 'new-title') {
$oldtitle = get_the_title();
$newtitle = str_replace(array("<span class='sub-title'>", "</span>"), array("", ""),$oldtitle);
$title = esc_attr($newtitle);
echo $title;
}
}
add_filter('manage_mycpt_columns', 'replace_title_column');
add_action('manage_mycpt_custom_column', 'replace_title_products', 10, 2);
Remplacer les colonnes
Voici un exemple qui remplace complètement les colonnes, plutôt que d’ajouter et de supprimer des colonnes spécifiques
function set_book_columns($columns) {
return array(
'cb' => '<input type="checkbox" />',
'title' => __('Title'),
'comments' => '<span class="vers comment-grey-bubble" title="' . esc_attr__( 'Comments' ) . '"><span class="screen-reader-text">' . __( 'Comments' ) . '</span></span>',
'date' => __('Date'),
'publisher' => __('Publisher'),
'book_author' =>__( 'Book Author')
);
}
add_filter('manage_book_posts_columns' , 'set_book_columns');
Voir plus: entrez la description du lien ici