Hinzufügen eines Zeichenzählers zum Auszug Metabox

Wir versuchen, eine geänderte Version dieses (sehr populären) Codes in einem Custom-Functions-Plugin anzuwenden. Es wurde sogar bei stackoverflow erwähnt, aber die ganze Frage wurde gelöscht, seit der Benutzer gefragt wurde, wurde entfernt. Dies ist eine zwischengespeicherte Google-Version . Eng geänderter Code ist immer noch vorhanden.

Dies ist der geänderte Code:

// Add Character Counter to the Excerpt Meta Box function excerpt_count_js(){ if ('page' != get_post_type()) { echo 'jQuery(document).ready(function(){ jQuery("#postexcerpt .handlediv").after("
Excerpt length: character(s). (128 Characters MAX)
"); jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length); jQuery("#excerpt").keyup( function() { jQuery("#excerpt_counter").val(jQuery("#excerpt").val().length); if ( jQuery("#excerpt_counter").val() >= 129 ) { jQuery("#excerpt_counter").css("color","red"); } else { jQuery("#excerpt_counter").css("color","green"); } }); });'; } } add_action( 'admin_head-post.php', 'excerpt_count_js'); add_action( 'admin_head-post-new.php', 'excerpt_count_js');

Es funktioniert gut auf der Auszugsmeta-Box und produziert erwartete Ergebnisse.

Es verursacht jedoch mehrere Probleme auf dem Bildschirm Edit Media . Es wird zwar nur zum Laden von if ('page' != get_post_type()) und von admin_head-post.php oder admin_head-post-new.php .
Diese Probleme sind:

  • Die Schaltflächen Help und Screen Options können nicht mehr angeklickt werden.
  • Der Hover Effect funktioniert nicht in der Admin-Sidebar
  • Die Description buttons (wie b + i + img etc.) verschwinden einfach.

Wir haben das Original sowie andere modifizierte Versionen des Skripts ohne Glück versucht.

Ähnliche Fragen wurden hier und hier scheinbar mit der gleichen jQuery-Codierung gestellt. Dennoch hat niemand irgendwelche Probleme gemeldet. Sind es nur wir?

BEARBEITEN:

Da Sie gefragt haben, sind die Fehler:

Uncaught TypeError: Cannot read property 'length' of undefined
Uncaught TypeError: Cannot read property 'hasClass' of undefined

Solutions Collecting From Web of "Hinzufügen eines Zeichenzählers zum Auszug Metabox"

Ok, ich mochte die Art und Weise nicht, die geschrieben wurde, also schrieb ich sie leicht mit anderer Syntax und besser lesbarer Struktur um.

 < ?php // Add Character Counter to the Excerpt Meta Box function excerpt_count_js(){ if ('page' != get_post_type()) { ?>  < ?php } } add_action( 'admin_head-post.php', 'excerpt_count_js'); add_action( 'admin_head-post-new.php', 'excerpt_count_js'); ?> 

Es wurde nicht überprüft, ob #postexcerpt überhaupt auf der Seite war oder nicht, also fügte ich das hinzu und versuchte es aufzuräumen und es leichter zu verstehen und zu verändern. Ich bin kein Fan des Inline-Stylings, aber naja.

Wie auch immer, ich habe dies auf einer sauberen 4.6.1-Installation mit 2016 getestet und es funktionierte gut. Lass es mich wissen, wenn das nicht für dich funktioniert.