Bildverknüpfung und Leuchtpult

Ich habe ein Problem, das ich seit einiger Zeit nicht lösen kann. Ich baue eine Portfolio-Website mit dem Thema “Expositio”. Ich brauche alle Bilder im Leuchtkasten zu öffnen, wenn ich darauf klicke, aber statt dessen, wenn ich auf das Bild klicke, komme ich zur Mediendatei in einem neuen Tab. Ich kann Lightbox für eine Sekunde arbeiten sehen und dann springt es auf den Link des Uplaoded Image ( http://localhost/wordpress/wp-content/uploads/2017/05/otherwork1d.jpg )

Ich muss deaktivieren, damit der Leuchtkasten sichtbar ist. Wenn jemand helfen könnte, wäre ich sehr dankbar.

Dule.

Solutions Collecting From Web of "Bildverknüpfung und Leuchtpult"

Das Problem ist also, dass bei Expositio-Themen einige jQuery-Codes zu allen Links hinzugefügt werden. Wenn Sie das mobile Menü nicht schließen, wird die Site nach einer konfigurierbaren Anzahl von Sekunden (standardmäßig 1 Sekunde) auf die Link-URL umgeleitet.

Wenn Sie in Zeile 260 von js / functions.js gehen, finden Sie Folgendes:

$('a').on('click', function(e) { e.preventDefault(); var _this = $(this); // close mobile menu if it's open, redirect otherwise if (_body.hasClass('toggled-on') && _this.parents('#page').length == 1 && _this.parents('#primary-navigation').length == 0 ) { load_effect.menuOff(); } else { load_effect.loader.show(); var href = $(this).attr('href'); $('.site').css('opacity', 0); setTimeout(function() { window.location = href; }, load_effect.duration); } }); 

Ich denke, die beste Lösung wäre, ein untergeordnetes Thema zu erstellen, dieses Skript zu entfernen und eine Kopie des Skripts ohne diese Umleitung in die Warteschlange einzureihen:

 < ?php // hook in late to make sure the parent theme's registration // has fired so you can undo it. Otherwise the parent will simply // enqueue its script anyway. add_action('wp_enqueue_scripts', 'override_functions_script', 100); function override_functions_script() { wp_dequeue_script('expositio-script'); wp_enqueue_script('child-expositio-script', get_stylesheet_directory_uri().'/js/functions.js', array('jquery')); } 

Und auf Ihrem Kind functions.js können Sie die Seite nur dann redirect, wenn der Link keine fancybox-class hat:

 $('a').on('click', function(e) { e.preventDefault(); var _this = $(this); // close mobile menu if it's open, redirect otherwise if (_body.hasClass('toggled-on') && _this.parents('#page').length == 1 && _this.parents('#primary-navigation').length == 0 ) { load_effect.menuOff(); } else { load_effect.loader.show(); var href = $(this).attr('href'); $('.site').css('opacity', 0); if(!_this.hasClass('fancybox')) { // only redirect if it doesn't have fancybox class setTimeout(function() { window.location = href; }, load_effect.duration); } } }); 

Es wäre auch gut, dies dem Theme-Entwickler zu melden, da dieser Code nicht in einer so allgemeinen Regel enthalten sein sollte.