custom-post-types – Reemplazo del título en la tabla de la lista de administración

Pregunta:

Esta es mi situación: estoy tratando de filtrar el contenido de la columna de título en mi tabla de edición de tipo de publicación personalizada, pero no puedo hacer que funcione.

Esto es lo que he probado:

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;  
}

Solo quiero filtrar las etiquetas <span> en mi título. ¿Alguien podría ayudarme por favor?

Respuesta:

1. Cambiar el título de la publicación en la columna de la lista de publicaciones

Entendí mal lo que querías, obviamente. Puedes hacerlo así:

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';
}

Haciendo uso del gancho admin_head-$hook_suffix .


(Descargo de responsabilidad: mantener esto, porque está relacionado y es buena información)

2. Reemplazar el título de la columna de la tabla.

Además, no está utilizando ni sobrescribiendo el título de la tabla de columnas. A continuación, se muestra un código ejemplar sobre cómo hacerlo:

  1. Basado en el gancho manage_{$this->screen->id}_columns

     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; }
  2. Basado en el gancho manage_{$post_type}_posts_columns

     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; }

Por último, pero no menos importante, el siguiente código es útil para obtener la información que necesita:

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 );
}

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım