X

Come aggiungere un contatore di caratteri alla metabox dell'estratto

Snippet di IsItWP

Stai cercando un modo per aggiungere un contatore di caratteri alla metabox dell'estratto? Sebbene probabilmente esista un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per aggiungere un contatore di caratteri alla metabox dell'estratto in WordPress.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

function excerpt_count_js(){
      echo '<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div style=\"position:absolute;top:0px;right:5px;color:#666;\"><small>Excerpt length: </small><input type=\"text\" value=\"0\" maxlength=\"3\" size=\"3\" id=\"excerpt_counter\" readonly=\"\" style=\"background:#fff;\"> <small>character(s).</small></div>");
     jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
     jQuery("#excerpt").keyup( function() {
     jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length);
   });
});</script>';
}
add_action( 'admin_head-post.php', 'excerpt_count_js');
add_action( 'admin_head-post-new.php', 'excerpt_count_js');

Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare i nostri altri articoli sul sito come: i 9 migliori plugin per eventi di WordPress e come creare splendidi moduli di opt-in per WordPress.

Commenti   Lascia una risposta

  1. Ciao, è possibile farlo per l'editor dei contenuti?

    1. Patricia Sarsfield 24 settembre 2020 alle 11:34

      Prova questo, per i commenti/risposte:

      function excerpt_count_js(){
      if ( ‘post’ == get_post_type() ) {
      echo ‘jQuery(document).ready(function(){
      jQuery(“textarea#comment”).after(“Lunghezza estratto: carattere(i).”);
      jQuery(“#excerpt_counter”).val(jQuery(“#comment”).val().length);
      jQuery(“#comment”).keyup( function() {
      jQuery(“#excerpt_counter”).val(jQuery(“#comment”).val().length);
      });
      });’;
      }
      return;
      }
      add_action( ‘comment_form_before’, ‘excerpt_count_js’);

  2. Personalizzazione dell'amministratore di WordPress: Riepilogo dell'incontro WPNYC: Blog di Chrisdigital: Chris Carvey: NYC 8 novembre 2014 alle 19:43

    [...] 6. Aggiungere un contatore di caratteri alla metabox dell'estratto [...]

  3. Funziona benissimo!

  4. Posizionando il codice nella condizione "if ('page' != get_post_type()) " le pagine di WordPress funzionano perfettamente. Forse potrebbe aiutare qualcuno.

    function excerpt_count_js(){

    if (‘page’ != get_post_type()) {

    echo ‘jQuery(document).ready(function(){
    jQuery(“#postexcerpt .handlediv”).after(“Lunghezza estratto: / 500carattere(i).”);
    jQuery(“span#excerpt_counter”).text(jQuery(“#excerpt”).val().length);
    jQuery(“#excerpt”).keyup( function() {
    if(jQuery(this).val().length > 500){
    jQuery(this).val(jQuery(this).val().substr(0, 500));
    }

    jQuery(“span#excerpt_counter”).text(jQuery(“#excerpt”).val().length);

    });
    });’;
    }
    }
    add_action( ‘admin_head-post.php’, ‘excerpt_count_js’);
    add_action( ‘admin_head-post-new.php’, ‘excerpt_count_js’);

  5. TechInsideCom 5 giugno 2014 alle 13:55

    Grazie per questa ottima soluzione. È possibile fare la stessa cosa per la casella del titolo? Grazie.

    1. Puoi dare un'occhiata a questo snippet, ho apportato alcune modifiche CSS e sistemato un po' le cose.
      http://pastebin.com/gsFF8pc7

  6. Grazie mille per questo!
    Per tua informazione, lo snippet funziona bene anche nell'estratto della pagina prodotto di WooCommerce.

  7. Heracles Papatheodorou 21 settembre 2013 alle 13:25

    Grazie per questo!
    Ho apportato alcune modifiche per rimuovere l'HTML e rendere gli estratti pronti per Twitter:


    function excerpt_count() {
    echo 'jQuery(document).ready(function($){
    $("#excerpt").after('');
    function excerpt_count() {
    var count = $("#excerpt").val();
    $("#excerpt_counter").text($(""+count+"").text().length);
    }
    excerpt_count();
    $("#excerpt").keyup( function() { excerpt_count(); }); });
    ';
    }

    add_action( 'admin_head-post.php', 'excerpt_count');
    add_action( 'admin_head-post-new.php', 'excerpt_count');

    Spero si riveli utile a qualcuno.

  8. Grazie per lo snippet. Per quanto riguarda il problema delle pagine: lo script genera un errore javascript quando si modifica una pagina: “TypeError: Cannot read property ‘length’ of undefined”, su questa riga: jQuery(“#excerpt_counter”).val(jQuery(“#excerpt”).val().length);. Presumo che su una pagina non venga utilizzato un estratto ma l'hook venga comunque chiamato e lo script sia incorporato nell'header, quindi non c'è nessun '#postexcerpt .handlediv' chiamato da nessuna parte per la query a cui inserire dopo e quindi nessun valore di lunghezza da valutare. Ma puoi mettere un'istruzione if attorno alle ultime 3 righe del jQuery, qualcosa come: “if (jQuery(“#excerpt_counter”).length > 0){ // ultime 3 righe di codice qui }” che potrebbe risolvere il problema.

    1. Questa soluzione ha risolto tutti i problemi js che avevo. Le opzioni dello schermo erano fastidiose, ma un problema molto più grande era il ridimensionamento delle immagini che restituiva NaN e lo rendeva inutilizzabile. Tutto risolto facilmente aggiungendo l'istruzione if, grazie mille!

  9. Volevo condividere uno screenshot per chiarire il problema con le pagine. Spero questo aiuti. https://www.dropbox.com/s/xhkv718cjcj5ep9/excerpt-counter.jpg

    1. molto strano, ci darò un'occhiata, scusa il ritardo, disqus ha smesso di inviarmi email sui nuovi commenti.

  10. Sto riscontrando lo stesso problema con AJAX che non funziona con le pagine. Qualcuno ha trovato una soluzione?

  11. Suggerimento Giornaliero: Come Aggiungere un Contatore di Caratteri alla Casella di Estratto di WordPress | Gli Esperti di WordPress - WPMU.org 9 giugno 2012 alle 10:00

    [...] un piccolo trucco utile che ho trovato di recente su wpsnipp.com. Questo snippet ti permette di aggiungere un contatore di caratteri alla casella di estratto nella modifica del tuo post [...]

  12. add_action( ‘COMMENT?, ‘excerpt_count_js’);
    Possiamo aggiungere i commenti?

    1. puoi assegnarlo a qualsiasi elemento che conosca l'ID invece del campo estratto.

  13. Dovrebbe essere una parte predefinita di Wordpress. Grazie... L'ho modificato un po' per adattarlo alle mie esigenze sostituendo le istruzioni sull'estratto con il Conteggio Caratteri. Chi ha bisogno di quella sciocca roba da principianti, comunque...


    function tpl_excerpt_count(){ ?>        jQuery(document).ready(function(){        var label = 'Conteggio caratteri: ';        jQuery('#postexcerpt p').html(label + jQuery('#excerpt').val().length);        jQuery('#excerpt').keyup(function(){            jQuery('#postexcerpt p').html(label + jQuery('#excerpt').val().length);        });    });   

    1. Ahhh molto bello, non è affatto una cattiva idea, sono contento di aver potuto aiutare!

  14. balon patlatma 5 gennaio 2012 alle 04:35

    è stato molto utile, grazie mille.

    1. Prego, goditi lo snippet.

  15. Grazie per lo snippet! Funziona benissimo sui post, ma sulle pagine riscontro gli stessi problemi di Eric e B.J. – hai idea di cosa possa causarlo?

    Saluti, Thomas.

    1. Ciao TL, ho appena testato le cose e non ho problemi con WordPress 3.3 e non ricevo errori, pensi che possa essere un altro plugin che stai eseguendo? Disattiverei tutti i plugin che stai eseguendo per vedere se hai ancora problemi, in caso contrario, attivali uno per uno controllando quale plugin è la causa.

      1. Ciao Kevin,

        Ho provato con tutti i plugin disattivati ma non è cambiato nulla…

        Non è poi così male perché uso principalmente post e non pagine, ma comunque. Se trovi o senti qualcosa, fammelo sapere!

        Grazie
        TL

        1. stai usando la versione più recente di WordPress?

        2. sì, l'ho testato con la 3.3 e la nuova versione 3.3.1…!

          (In qualche modo non riesco a rispondere al tuo post, solo al mio…)

  16. C'è una soluzione per il problema con le pagine? Non posso più usare le opzioni schermo e i pulsanti di aiuto sotto le pagine.

    1. Ciao Marxo, ho appena testato su Firefox con WordPress 3.2.1 e nessun problema con il menu di aiuto o altri menu di amministrazione funzionanti. Uso jQuery(document).ready(); in modo da non causare conflitti. Potresti provare questo metodo e vedere se funziona per te,

       http://advantcomp.com/jquery-conflicts-and-wordpress-how-to-include-your-own-jquery-scripts-the-correct-way/

      Anche se potrebbe essere un altro plugin che stai eseguendo, quindi li disattiverei temporaneamente per fare dei test.

      1. Grazie per il tuo tempo. )

        Provato il codice aggiornato. Tutto è ok se scegli Pagine > Opzioni schermo / Aiuto. I problemi iniziano  se scegli Pagine > Pagina di esempio > Opzioni schermo / Aiuto.

        Installazione pulita di WordPress 3.2.1
        Nessun plugin
        Tema Twenty Eleven

  17. Grazie per questa fantastica funzione. Ma puoi aiutarmi ad aggiungere contatori di caratteri alle meta box di testo di questo plugin di WordPress (More Fields): http://wordpress.org/extend/plugins/more-fields/ ?

    1. Ciao Anthony, devi solo cambiare ogni istanza di '#excerpt' con l'ID del campo per cui vuoi che venga visualizzato l'editor TinyMCE. 

  18. Ho questo snippet (ottima funzionalità, tra l'altro) sul mio sito da qualche giorno e l'ho appena scoperto (il jQuery) che era in conflitto con il jQuery in esecuzione nella sezione Pagine dell'amministrazione. Nessun menu o roba AJAX non funzionava e interessava solo le Pagine (nessun Post o Tipi di Post Personalizzati).

    Qualcun altro ha riscontrato questo problema?

    1. Ciao Eric,
      Darò un'occhiata e vedrò se ottengo gli stessi risultati,

  19. Mi piacerebbe vedere la possibilità di includerlo nell'editor effettivo piuttosto che negli estratti. Ho cercato tutto il giorno qualcosa che conti i caratteri all'interno dell'editor, non dell'estratto. Questo è comunque semplicemente brillante. Ora lo smonterò e vedrò se riesco a farlo funzionare all'interno dell'editor.

    Grazie mille per questo fantastico contributo!

    1. Fantastico, sono contento che ti piaccia lo snippet! Dovrebbe essere abbastanza facile impostare le cose, puoi cambiare #excerpt in #content e questo visualizzerà già il conteggio ma visualizzerà comunque il contatore nell'area del titolo dell'estratto. Alla riga 03 cambia solo '#postexcerpt .handlediv' per puntare alla nuova posizione in cui vuoi che venga visualizzato il contatore e sei pronto...

      1. Sei il mio nuovo migliore amico 🙂 Grazie mille! In realtà l'ho già fatto, ho solo difficoltà a posizionarlo dove voglio, ma ci riuscirò 😉 Sei fantastico, amico. Grazie per questo fantastico contributo! 🙂

        1. Grazie, nessun problema, goditi il sito e non dimenticare di seguirci su Facebook o Twitter, posto quotidianamente.

      2. Ancora grazie. Un po' di editing e l'ho posizionato bene dove serve. Grazie!

        Ti ho seguito sia su Facebook che su Twitter. Non vedo l'ora di leggere i tuoi tweet! Sono giorni come questo che apprezzo davvero le persone che condividono le loro scoperte sul blog. Grazie ancora per aver condiviso questo snippet!

        1. Fantastico, goditi gli snippet.

  20. Jani Uusitalo 8 giugno 2011 alle 18:34

    Brillante! Di solito, cercando su Google cose per WP, mi compaiono un sacco di plugin che fanno quello che mi serve e poi cercano di fare anche il "tuttofare", ma questo snippet ha risolto il problema con precisione chirurgica. Grazie! Peccato che non ci sia un link per "flattr", questo sarebbe sicuramente valso la pena.

    1. @google-de31253397522fac9cf8619290aa2a8f:disqus  sono contento che ti piaccia lo snippet! Per quanto riguarda "flatter", non ne ho ancora aggiunto uno, ma aggiungo nuovi snippet a wpsnipp.com ogni giorno, quindi sono sicuro che presto ce l'avrò.

  21. Esattamente quello che cercavo. Grazie mille. Se potessi limitare il numero di caratteri consentiti nella casella (per preservare l'aspetto corretto dell'estratto) sarebbe fantastico. Nel frattempo, ho semplicemente scritto accanto al contatore di caratteri. (NON superare i 320 caratteri)

    1. Per impostazione predefinita, l'estratto viene troncato a 55 caratteri, quindi non dovrebbe mai raggiungere quella lunghezza. Tuttavia, potresti usare questo snippet e definire il numero di caratteri per l'estratto.

      http://wpsnipp.com/index.php/excerpt/custom-excerpt-length/

      Tieni presente che questo non impedirà loro di digitare altro testo nel campo dell'estratto.

  22. (Tradotto dal programma)
    Questo suggerimento è davvero fantastico!, Penso che possa persino incoraggiare gli utenti a utilizzare questa funzionalità del sistema che viene sempre trascurata ma molto utile.

    1. Aiuta anche perché, per impostazione predefinita, penso che ci sia un limite di 55 caratteri per l'estratto.

  23. Il metabox dell'estratto appare solo nelle pagine di modifica e aggiunta nuovo post dell'area di amministrazione, quindi lo snippet può essere limitato a queste utilizzando gli hook 'admin_head-post.php' e 'admin_head-post-new.php' invece di 'admin_head', che aggiunge lo snippet a ogni pagina di amministrazione.

    1. Buon punto Andrew, è uno spreco caricarlo su ogni pagina di amministrazione. Farò un aggiornamento allo snippet, grazie per averlo fatto notare.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!