Mostra tutti i tag post nella schermata di modifica post / casella laterale


8

Sto cercando un modo per mostrare tutti i tag post nella schermata di modifica post / sidebox tag nella sezione admin di WordPress. Per impostazione predefinita WordPress mostra 45 tag più utilizzati, ma ho bisogno di un modo per elencare tutti i tag lì o almeno aumentare questo limite.

Ho trovato una domanda simile qui Mostra tutti i tag in admin -> modifica post . Ma suggerisce di modificare / modificare i file core di WordPress che non è quello che voglio davvero. Perché l'aggiornamento di WordPress sarà quindi un grosso problema.

Inoltre non sono riuscito a trovare nulla nella ricerca di Google. Quindi c'è un modo per elencare tutti o più di 45 tag nella pagina di modifica post.

Risposte:


9

Direi che il modo più semplice per farlo è utilizzare il get_terms_argsfiltro e annullare l'impostazione del numberlimite se il contesto è corretto (la richiesta AJAX per ottenere il cloud di tag):

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: nella casella di modifica il link continuerà a leggere "Scegli tra i tag più utilizzati", anche se ora li stiamo visualizzando tutti.

Modifica: come suggerito da @bonger, è possibile determinare il tipo di post dal referer:

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

2
+1. Sarebbe bello se potesse essere eseguito solo per tipi di post specifici, ma temo non sia così facile. Per quanto riguarda "Scegli tra i tag più utilizzati" , è possibile utilizzare il gettextfiltro per modificarlo.
gmazzap

@GM Sì, possiamo cambiare il testo. Ma sto bene con "Scegli tra i tag più utilizzati". Anche se mi chiedo perché non possiamo controllare post typequi? Viene eseguito prima di ogni altra cosa.
Robert hue,

1
Non è possibile determinare il tipo di post nel contesto in cui viene eseguito il filtro. Si poteva vedere quale tipo di messaggio la tassonomia è collegato a, ma questo è utile solo se è l' unico tipo di posta. L'unica altra opzione è quella di rimuovere il post_tags_meta_boxgestore predefinito e sostituirlo con il proprio.
TheDeadMedic

Anche se potresti usare $_SERVER['HTTP_REFERER']per scoprire post_typese lo volevi davvero.
bonger,

1
Puoi usare wp_get_referer(). Tieni presente che ritorna falseanche nel caso in cui la richiesta corrente e la precedente sono uguali (chiunque avesse quell'idea: applauso lento).
Kaiser

0

Aggiunta alla risposta di TheDeadMedic, per mostrare TUTTI i tag:

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

0

Basta aggiungere alcune informazioni rilevanti di base:

Quando si imposta un'impostazione di tassonomia su di 'hierarchical'=>trueessa verrà utilizzata la casella laterale del formato categoria e verranno visualizzati tutti i termini per impostazione predefinita.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.