| |

WordPress voreingestellte Galerien-Werte überschreiben

Das Problem: Die Standardwerte für Galerien in WordPress sind unabhängig von allen Versionen und Design:

  • 3 Bilder
  • Format thumbnail
  • Link auf das grössere Bild

Das macht aber bei graphisch anspruchsvolleren Seiten keinen Sinn. Da braucht man das:

  • 2 Bilder
  • Format medium
  • Kein Link auf das grössere Bild

Wohl gemerkt, es geht um die Voreinstellungen. Die Angaben sollten später oder beim neu Erstellen von Galerien auch geändert werden können, zum Beispiel auf:

  • 3 Bilder
  • Format medium
  • Kein Link auf das grössere Bild

Man sollte meinen, das ist einfach zu ändern, ist es aber nicht weil es im WordPress Core irgendwo steht und das Einfügen von Galerien über JavaScript gesteuert wird. Ich habe nun lange die KI von mistral.ai gequält und bin nun bei dieser Zwischenlösung hängen geblieben. Sie ist noch nicht perfekt weil im Menu nach wie vor thumbnail stehen bleibt, in der Voransicht im Editor im Backend auch Thumbnails eingeblendet werden und nur beim Speichern des Beitrags erst die Bilder richtig im Format medium erscheinen. Trotzdem kann man später auch tatächlich auf Thumbanils oder eine andere Bildanzahl ändern.

Es braucht Einträge in der Datei functions.php des Layouts:

add_action( 'admin_enqueue_scripts', function() {
  wp_enqueue_script(
    'gallery-defaults',
     get_stylesheet_directory_uri() . '/js/gallery-defaults.js', // DIE DATEI MUSS AUCH ANGELEGT WERDEN
     array('jquery', 'media-editor' ), // VERSICHERUNG DASS wp.media SCHIN GELADEN IST
     '1.0',
     true
  );
} );
add_filter( 'shortcode_atts_gallery', function( $out, $pairs, $atts ) {
  if ( empty( $atts['columns'] ) ) { $out['columns'] = 2; }
  if ( empty( $atts['size'] ) ) { $out['size'] = 'medium'; }
  if ( empty( $atts['link'] ) ) { $out['link'] = 'none'; }
  return $out;
}, 10, 3 );

Unter /wp-content/themes/[DESIGN]/js/ ist die Datei gallery-defaults.js mit folgenden Inhalt abzulegen:

jQuery( function( $ ) {
  if ( typeof wp === 'undefined' || typeof wp.media === 'undefined' ) {
  return;
  }
  wp.media.gallery.defaults.columns = 2;
  wp.media.gallery.defaults.size = 'medium';
  wp.media.gallery.defaults.link = 'none';
  // SOLLTE DIE MENÜ-ANZIIEGE FORCIEREN, TUT ES ABER NICHT
  if ( wp.media.view && wp.media.view.Settings && wp.media.view.Settings.Gallery ) {
    wp.media.view.Settings.Gallery.prototype.defaults.size = 'medium';
  }
} );

Leider geht es anscheinend nicht mit nur einem Eintrag in functions.php.

WordPress Gallery Defaults
WordPress Gallery Defaults

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.