Mostrar todas las etiquetas de publicación en la pantalla de edición de publicaciones / caja lateral

8

Estoy buscando una manera de mostrar todas las etiquetas de publicación en la pantalla de edición de publicaciones / caja lateral de etiquetas en la sección de administración de WordPress. Por defecto, WordPress muestra las 45 etiquetas más utilizadas, pero necesito una forma de enumerar todas las etiquetas allí o al menos aumentar este límite.

Encontré una pregunta similar aquí Mostrando todas las etiquetas en admin -> editar publicación . Pero sugiere editar / modificar los archivos principales de WordPress, que no es lo que realmente quiero. Porque actualizar WordPress será un gran problema entonces.

Tampoco pude encontrar nada en la búsqueda de Google. Entonces, ¿hay alguna manera de enumerar todas o más de 45 etiquetas en la página de edición posterior?

Robert hue
fuente

Respuestas:

9

Yo diría que la forma más fácil de hacerlo es usar el get_terms_argsfiltro y desactivar el numberlímite si el contexto es correcto (la solicitud de AJAX para obtener la nube de etiquetas):

function wpse_64058_all_tags ( $args ) {
    if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'get-tagcloud' )
        unset( $args['number'] );
    return $args;
}

add_filter( 'get_terms_args', 'wpse_64058_all_tags' );

Nota: En el cuadro de edición, el enlace seguirá leyendo "Elija entre las etiquetas más utilizadas", aunque ahora las estamos mostrando todas.

Editar: como sugirió @bonger, puede determinar el tipo de publicación del árbitro:

if ( $qs = parse_url( wp_get_referer(), PHP_URL_QUERY ) ) {
    parse_str( $qs, $args );

    if ( ! empty( $args['post_type'] ) )
        $post_type = $args['post_type'];
    elseif ( ! empty( $args['post'] ) )
        $post_type = get_post_type( $args['post'] );
    else
        $post_type = 'post';
}
TheDeadMedic
fuente
2
+1. Sería bueno si se puede ejecutar solo para tipos de publicación específicos, pero me temo que no es tan fácil. Con respecto a "Elegir entre las etiquetas más utilizadas" , es posible utilizar el gettextfiltro para cambiarlo.
gmazzap
@ GM Sí, podemos cambiar el texto. Pero estoy de acuerdo con "Elegir entre las etiquetas más utilizadas". Aunque me pregunto por qué no podemos verificarlo post typeaquí. ¿Se ejecuta esto antes que todo lo demás?
Robert hue
1
No hay forma de determinar el tipo de publicación dentro del contexto que ejecuta el filtro. Usted podría ver qué tipo de entrada de la taxonomía se une a, pero eso es sólo es útil si es la única Tipo de puesto. La única otra opción es eliminar el post_tags_meta_boxcontrolador predeterminado y reemplazarlo con el suyo.
TheDeadMedic
Aunque podrías usar $_SERVER['HTTP_REFERER']para averiguar post_typesi realmente quisieras.
Bonger
1
Podrías usar wp_get_referer(). Tenga en cuenta que también regresa falseen el caso si la solicitud actual y la anterior son iguales (quien tuvo esa idea: aplauso lento).
kaiser
0

Además de la respuesta de TheDeadMedic, para mostrar TODAS las etiquetas:

if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'get-tagcloud' ) {
    unset( $args['number'] );
    $args['hide_empty'] = 0;
}
return $args;
Somi
fuente
0

Solo agrego información básica relevante:

Al establecer una configuración de taxonomía 'hierarchical'=>true, utilizará el cuadro lateral de formato de categoría y mostrará todos los términos de forma predeterminada.

usuario315338
fuente