X

Cum să adaugi un contor de caractere la caseta meta pentru rezumat

Fragmente de IsItWP

Căutați o modalitate de a adăuga un contor de caractere la metaboxul de rezumat? Deși probabil există un plugin pentru asta, am creat o scurtă secțiune de cod pe care o puteți folosi pentru a adăuga un contor de caractere la metaboxul de rezumat în WordPress.

Instrucțiuni:

Tot ce trebuie să faceți este să adăugați acest cod în fișierul functions.php al temei dvs. sau într-un plugin specific site-ului:

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

Notă: Dacă este prima dată când adăugați secvențe de cod în WordPress, consultați ghidul nostru despre cum să copiați / lipiți corect secvențe de cod în WordPress, pentru a nu vă defecta accidental site-ul.

Dacă v-a plăcut această secțiune de cod, vă rugăm să luați în considerare să consultați și celelalte articole de pe site, cum ar fi: cele mai bune 9 pluginuri pentru evenimente WordPress și cum să creați formulare de abonare uimitoare în WordPress.

Comentarii   Lasă un răspuns

  1. Bună, Este posibil să faceți acest lucru și pentru editorul de conținut?

    1. Patricia Sarsfield September 24, 2020 at 11:34 am

      Încercați asta, pentru comentarii/răspunsuri:

      function excerpt_count_js(){
      if ( ‘post’ == get_post_type() ) {
      echo ‘jQuery(document).ready(function(){
      jQuery(“textarea#comment”).after(“Lungimea rezumatului: caracter(e).”);
      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. Customizing the WordPress Admin : WPNYC Meetup Recap : Chrisdigital's Blog : Chris Carvey : NYC November 8, 2014 at 7:43 pm

    […] 6. Adăugați un contor de caractere la metaboxul de rezumat […]

  3. Funcționează excelent!

  4. Prin plasarea codului în condiția „if (‘page’ != get_post_type())” paginile WordPress funcționează perfect. Poate ar ajuta pe cineva.

    function excerpt_count_js(){

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

    echo ‘jQuery(document).ready(function(){
    jQuery(“#postexcerpt .handlediv”).after(“Lungimea rezumatului: / 500 caracter(e).”);
    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 June 5, 2014 at 1:55 pm

    Mulțumesc pentru această soluție grozavă. Este posibil să faceți același lucru și pentru caseta de titlu? Mulțumesc.

    1. Puteți arunca o privire la această secțiune de cod, am făcut câteva modificări CSS și am remediat lucrurile puțin.
      http://pastebin.com/gsFF8pc7

  6. Mulțumesc mult pentru aceasta!
    Pentru informarea dvs., secțiunea de cod funcționează bine chiar și pe rezumatul paginii de produs woocommerce.

  7. Heracles Papatheodorou September 21, 2013 at 1:25 pm

    Vă mulțumesc pentru aceasta!
    Am făcut câteva modificări pentru a elimina HTML și a crea rezumate gata pentru 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');

    Sperăm că se va dovedi utilă cuiva.

  8. Mulțumesc pentru fragment. Referitor la problema paginilor: scriptul generează o eroare javascript la editarea unei pagini de tipul: „TypeError: Cannot read property ‘length’ of undefined”, pe această linie: jQuery(“#excerpt_counter”).val(jQuery(“#excerpt”).val().length);. Cum presupun că într-o pagină nu se folosește un rezumat, dar hook-ul este încă apelat și scriptul este încorporat în antet, deci nu există nicăieri apelat „#postexcerpt .handlediv” pentru ca interogarea să insereze după și apoi nu există nicio valoare de lungime de evaluat. Dar puteți pune o instrucțiune if în jurul ultimelor 3 linii ale codului jQuery, ceva de genul: „if (jQuery(“#excerpt_counter”).length > 0){ // ultimele 3 linii de cod aici }” care ar putea rezolva problema.

    1. Această soluție a rezolvat toate problemele js cu care mă confruntam. Opțiunile de ecran erau enervante, dar o problemă mult mai mare era scalarea imaginilor care returna NaN și le făcea inutilizabile. Toate rezolvate ușor prin adăugarea instrucțiunii if, mulțumesc mult!

  9. Am vrut să partajez o captură de ecran pentru a clarifica problema cu paginile. Sper că acest lucru ajută. https://www.dropbox.com/s/xhkv718cjcj5ep9/excerpt-counter.jpg

    1. foarte ciudat, voi analiza asta, îmi pare rău că a durat atât de mult, disqus a încetat să-mi mai trimită comentarii noi prin e-mail.

  10. Întâmpin aceeași problemă cu AJAX care nu funcționează cu paginile. A găsit cineva o soluție?

  11. Daily Tip: How to Add a Character Counter to the WordPress Excerpt Box | The WordPress Experts - WPMU.org June 9, 2012 at 10:00 am

    […] un mic truc util pe care l-am găsit recent pe wpsnipp.com. Acest fragment vă permite să adăugați un contor de caractere la caseta de rezumat de pe pagina de editare a postării […]

  12. add_action( ‘COMMENT?, ‘excerpt_count_js’);
    Putem adăuga comentarii?

    1. poți atribui asta oricărui element care cunoaște ID-ul în loc de câmpul rezumat.

  13. Ar trebui să fie o parte implicită a Wordpress. Mulțumesc… L-am modificat puțin pentru a se potrivi nevoilor mele înlocuind instrucțiunile de Rezumat cu Numărul de Caractere. Cine are nevoie de prostiile alea de începători oricum…


    function tpl_excerpt_count(){ ?>        jQuery(document).ready(function(){        var label = 'Număr de caractere: ';        jQuery('#postexcerpt p').html(label + jQuery('#excerpt').val().length);        jQuery('#excerpt').keyup(function(){            jQuery('#postexcerpt p').html(label + jQuery('#excerpt').val().length);        });    });   

    1. Ahhh foarte tare, nu e o idee rea deloc, mă bucur că am putut ajuta!

  14. a fost foarte util, mulțumesc mult.

    1. Nicio problemă, bucură-te de fragment.

  15. Mulțumesc pentru fragment! Funcționează excelent pe postări, dar pe pagini întâmpin aceleași probleme ca Eric și B.J. – ai idee ce ar putea cauza asta?

    Salutări, Thomas.

    1. Salut TL, tocmai am testat lucrurile și nu am probleme cu wordpress 3.3 și nu primesc erori, crezi că ar putea fi un alt plugin pe care îl rulezi? Ce aș face este să dezactivez toate pluginurile pe care le rulezi, să văd dacă mai ai probleme, dacă nu, apoi să activezi fiecare plugin pe rând, verificând ce plugin este cauza.

      1. Hei Kevin,

        Am încercat cu toate pluginurile dezactivate, dar fără nicio schimbare…

        Nu e chiar așa rău, pentru că folosesc în principal postări, nu pagini, dar totuși. Dacă găsești sau auzi ceva, te rog să-mi spui!

        Mulțumesc 
        TL

        1. rulezi cea mai recentă versiune de wordpress?

        2. da, am testat-o cu versiunea 3.3 și noua versiune 3.3.1…!

          (Cumva nu pot să răspund la postarea ta, doar la a mea…)

  16. Există vreo soluție pentru problema cu paginile? Nu mai pot folosi opțiunile de ecran și butoanele de ajutor sub pagini.

    1. Salut Marxo, tocmai am testat lucrurile pe Firefox cu wordpress 3.2.1 și nu am avut probleme cu meniul de ajutor sau alte meniuri de administrare funcționale. Folosesc jQuery(document).ready(); pentru a nu cauza conflicte. Ai putea încerca această metodă și să vezi dacă funcționează pentru tine,

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

      Deși ar putea fi un alt plugin pe care îl rulezi, așa că aș dezactiva temporar acelea pentru a testa lucrurile.

      1. Mulțumesc pentru timpul acordat. )

        Am încercat codul actualizat. Totul este în regulă dacă alegi Paginile > Opțiuni ecran / Ajutor. Problemele încep  dacă alegi Paginile > Pagina exemplu > Opțiuni ecran / Ajutor.

        Instalare WordPress 3.2.1 curată
        Fără plugin-uri
        Temă Twenty Eleven

  17. Mulțumesc pentru această funcție grozavă. Dar mă poți ajuta să adaug contoare de caractere la casetele de text meta ale acestui plugin wordpress (More Fields): http://wordpress.org/extend/plugins/more-fields/ ?

    1. Salut Anthony, trebuie doar să schimbi fiecare instanță de ‘#excerpt’ cu ID-ul oricărui câmp pentru care vrei să fie afișat editorul TinyMCE. 

  18. Am avut acest fragment de cod (funcționalitate grozavă, apropo) pe site-ul meu de câteva zile și tocmai am descoperit că (jQuery) intra în conflict cu jQuery care rulează în secțiunea Paginilor din administrare. Niciun meniu sau altceva de tip AJAX nu funcționa și afecta doar Paginile (nu Postări sau Tipuri de Postări Personalizate).

    A mai întâlnit cineva această problemă?

    1. Salut Eric,
      O voi analiza și voi vedea dacă obțin aceleași rezultate,

  19. Bryce Wisekal June 17, 2011 at 2:55 am

    Mi-ar plăcea să văd posibilitatea de a include acest lucru în editorul propriu-zis, mai degrabă decât pentru rezumate. Am căutat toată ziua ceva care să numere caracterele din interiorul editorului, nu din rezumat. Totuși, acesta este pur și simplu genial. Acum îl voi modifica și voi vedea dacă îl pot face să funcționeze în editor în schimb.

    Mulțumesc mult pentru această contribuție fantastică!

    1. Super, mă bucur că îți place fragmentul de cod! Ar trebui să fie destul de ușor de configurat, poți schimba #excerpt în #content și asta va afișa deja numărătoarea, dar va afișa în continuare contorul în zona titlului rezumatului. Pe linia 03, doar schimbă „#postexcerpt .handlediv” pentru a viza noua locație unde vrei să apară contorul și ești gata de plecare….

      1. Bryce Wisekal June 17, 2011 at 3:43 am

        Ești noul meu cel mai bun prieten 🙂 Mulțumesc mult! De fapt, am făcut deja asta, doar că am dificultăți în a-l plasa unde vreau, dar voi rezolva 😉 Ești grozav, omule. Mulțumesc pentru această contribuție fantastică! 🙂

        1. Mulțumesc, nicio problemă, bucură-te de site și nu uita să ne urmărești pe facebook sau twitter, postez zilnic.

      2. Bryce Wisekal June 17, 2011 at 4:10 am

        Încă o dată, mulțumesc. O mică editare și l-am plasat frumos unde este necesar. Mulțumesc!

        Te-am urmărit pe Facebook și Twitter. Abia aștept să-ți citesc tweet-urile! Zilele ca aceasta mă fac să apreciez cu adevărat oamenii care își publică descoperirile pe blog. Mulțumesc încă o dată pentru că ai împărtășit acest fragment!

        1. Super, bucură-te de fragmente.

  20. Jani Uusitalo June 8, 2011 at 6:34 pm

    Briliant! De obicei, când caut pe Google chestii legate de WP, găsesc o grămadă de pluginuri care fac ce am nevoie și apoi încearcă să fie și un cuțit elvețian, dar acest fragment a rezolvat o problemă cu precizie chirurgicală. Mulțumesc! Păcat că nu există un link de tip flattr aici, cu siguranță ar fi meritat.

    1. @google-de31253397522fac9cf8619290aa2a8f:disqus  mă bucur că îți place fragmentul! În ceea ce privește flatter, nu am adăugat încă unul, dar adaug zilnic fragmente noi pe wpsnipp.com, așa că sunt sigur că îl voi avea destul de curând.

  21. Exact ce căutam. Mulțumesc mult. Dacă aș putea limita numărul de caractere permise în casetă (pentru a păstra aspectul corect al rezumatului), ar fi grozav. Cu toate acestea, între timp am scris pur și simplu lângă contorul de caractere. (NU depășiți 320 de caractere)

    1. Implicit, rezumatul este trunchiat la 55 de caractere, deci nu ar trebui să ajungă niciodată la acea lungime. Cu toate acestea, ai putea folosi acest fragment și să definești numărul de caractere pentru rezumat.

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

      Ține cont că acest lucru nu îi va împiedica să tasteze mai mult text în câmpul rezumatului.

  22. (Tradus de program)
    Acest sfat este cu adevărat fantastic!, cred că chiar ar încuraja utilizatorii să folosească această funcție a sistemului, care este mereu trecută cu vederea, dar foarte utilă.

    1. Ajută și pentru că implicit cred că există o limită de 55 de caractere pentru rezumat.

  23. Casetă meta pentru rezumat apare doar pe paginile Noi postări și Editează postare din Admin, deci fragmentul poate fi limitat la acestea folosind hook-urile 'admin_head-post.php' și 'admin_head-post-new.php' în loc de 'admin_head', care adaugă fragmentul pe fiecare pagină de Admin.

    1. Punct bun Andrew, este o risipă să-l încarci pe fiecare pagină de admin. Voi face o actualizare a fragmentului, mulțumesc că ai atras atenția asupra acestui aspect.

Adaugă un comentariu

Suntem bucuroși că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de confidențialitate, iar toate linkurile sunt nofollow. NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.

Lista de verificare pentru lansarea WordPress

Lista de verificare finală pentru lansarea WordPress

Am compilat toate elementele esențiale de verificare pentru lansarea următorului dvs. site WordPress într-o singură carte electronică la îndemână.
Da, trimite-mi eBook-ul gratuit!