WordPress: Nach Update auf Version 3.4.2 funktionieren die benutzerdefinierten Felder nicht mehr
Benutzt man eine Suchmaschine, findet man sehr schnell heraus, dass man nicht alleine mit dem Problem ist. Es handelt sich tatsächlich um einen Bug, für den es allerdings einen recht schmerzfreien Workaround gibt. Man kann es über die Funktions-Datei im Theme lösen und muss in keinen WordPress-Dateien herumhacken.
Wenn Du unter Design auf den Editor klickst und dann die Datei Theme-Funktionen (functions.php) öffnest, fügst Du einfach folgendes Code-Schnippsel ein:
function fix_custom_fields_in_wp342() {
global $wp_version, $hook_suffix;
if ( '3.4.2' == $wp_version && in_array( $hook_suffix, array( 'post.php', 'post-new.php' ) ) ) : ?>
<script type="text/javascript">
jQuery(document).delegate( '#addmetasub, #updatemeta', 'hover focus', function() {
jQuery(this).attr('id', 'meta-add-submit');
});
</script>
<?php
endif;
}
add_action( 'admin_print_footer_scripts', 'fix_custom_fields_in_wp342' );
Nun funktionieren die Benutzerdefinierten Felder wieder wie gewohnt und man kann auf ein Update warten. Das Schöne an dieser Funktion ist, dass sie gezielt nach WordPress 3.4.2 sucht und somit bei jeder anderen Version einfach nicht aufgerufen wird. Vielen Dank an themeshift.com für den Fix.
Es handelt sich hierbei um keinen sehr schlimmen Bug, aber er ist sehr nervig. Komisch, dass dieser nicht während der RC-Phasen aufgetreten ist oder bemerkt wurde. Ich muss aber auch ganz ehrlich sagen, dass dies seit langer langer Zeit der erste WordPress-Bug ist, der mich persönlich betroffen hat. Und der Fix ist wirklich einfach. Sauer darf man sowieso nicht sein, schließlich kostet die Software nichts.
Vielleicht hilft es ja noch dem einen oder anderen, auch wenn diese Lösung nun reichlich spät nach dem Update kommt.