jQuery(document).ready(function($) {
// Button für Bewertungen und Preisvergleich hinzufügen
$('#wp-content-media-buttons').append('');
// Modal-Dialog für Preis und URL Eingabe erstellen
$('body').append(`
Preisvergleich & Bewertungen
`);
// Event Listener für den Button
$('#bewertungen-button').on('click', function(e) {
e.preventDefault(); // Verhindert mögliche Formulareinreichungen
$('#preisvergleich-modal').fadeIn();
});
// Modal-Dialog schließen
$('#close-preisvergleich').on('click', function() {
$('#preisvergleich-modal').fadeOut();
});
// Event Listener für "Absenden"-Button
$('#submit-preisvergleich').on('click', function() {
var preisvergleichPreis = $('#preisvergleich-preis').val().trim();
var preisvergleichURL = $('#preisvergleich-url').val().trim();
// Validierung des Preises
if (!preisvergleichPreis) {
alert("Bitte geben Sie einen Preis ein.");
return;
}
// Preisformatierung: sicherstellen, dass der Preis zwei Dezimalstellen hat
preisvergleichPreis = preisvergleichPreis.replace(',', '.');
if (!/^\d+(\.\d{1,2})?$/.test(preisvergleichPreis)) {
alert("Bitte geben Sie einen gültigen Preis ein (z.B. 20 oder 19,8).");
return;
}
preisvergleichPreis = parseFloat(preisvergleichPreis).toFixed(2).replace('.', ',');
// URL analysieren, um den richtigen Shop zu finden
var compareSite = 'unbekannt';
if (preisvergleichURL) {
if (preisvergleichURL.includes('idealo.de')) {
compareSite = 'idealo';
} else if (preisvergleichURL.includes('google.com') || preisvergleichURL.includes('google.de')) {
compareSite = 'Google Shopping';
} else if (preisvergleichURL.includes('geizhals.de')) {
compareSite = 'Geizhals';
} else if (preisvergleichURL.includes('everysize.com')) {
compareSite = 'everysize';
} else if (preisvergleichURL.includes('dm.de')) {
compareSite = 'dm';
} else if (preisvergleichURL.includes('rossmann.de')) {
compareSite = 'ROSSMANN';
} else if (preisvergleichURL.includes('rewe.de')) {
compareSite = 'REWE';
} else if (preisvergleichURL.includes('mueller.de')) {
compareSite = 'Müller';
} else if (preisvergleichURL.includes('edeka24.de')) {
compareSite = 'EDEKA';
} else if (preisvergleichURL.includes('obi.de')) {
compareSite = 'OBI';
}
}
// Auswahl des passenden Texts
var selectedTexte;
if (preisvergleichURL) {
// Alle fremden Links führen jetzt zu onlinePreisvergleichTexte
if (['dm', 'ROSSMANN', 'REWE', 'Müller', 'EDEKA', 'OBI'].indexOf(compareSite) === -1) {
selectedTexte = onlinePreisvergleichTexte.map(function(text) {
return text.replace("{shop}", compareSite);
});
} else {
selectedTexte = lokalPreisvergleichTexte.map(function(text) {
return text.replace("{shop}", compareSite);
});
}
selectedTexte = selectedTexte.map(function(text) {
return text.replace("LINK", preisvergleichURL);
});
} else {
selectedTexte = noLinkPreisvergleichTexte;
}
// Produktname + Vergleichspreis durch Shortcode ersetzen
var productNameShortcode = '[product_name]';
var comparisonPriceShortcode = preisvergleichPreis;
// Text mit Produktname und Vergleichspreis Shortcode ersetzen
var bewertungenTexteFormatted = bewertungenTexte.map(function(text) {
return text.replace("[product_name]", productNameShortcode);
});
selectedTexte = selectedTexte.map(function(text) {
return text.replace("[product_name]", productNameShortcode).replace("[comparison_price]", comparisonPriceShortcode);
});
// Zufällige Textauswahl für Bewertungen und Preisvergleich
var randomBewertungenText = bewertungenTexteFormatted[Math.floor(Math.random() * bewertungenTexteFormatted.length)];
var randomPreisvergleichText = selectedTexte[Math.floor(Math.random() * selectedTexte.length)];
// Inhalte in den Editor einfügen
if (typeof tinyMCE !== 'undefined' && tinyMCE.activeEditor && !tinyMCE.activeEditor.isHidden()) {
tinyMCE.activeEditor.execCommand('mceInsertContent', false, randomBewertungenText + randomPreisvergleichText);
} else {
$('#content').val($('#content').val() + randomBewertungenText + randomPreisvergleichText);
}
// Wenn ein Preis eingegeben wurde, diesen in das entsprechende Feld eintragen
if (preisvergleichPreis) {
$('#rehub_offer_product_price_old').val(preisvergleichPreis);
}
// Modal schließen nach erfolgreicher Einfügung
$('#preisvergleich-modal').fadeOut();
});
// Verhindern, dass das Formular beim Drücken von Enter abgesendet wird
$('#preisvergleich-form').on('submit', function(e) {
e.preventDefault();
});
});
{"version":"1.0","provider_name":"Schn\u00e4ppchen und die besten Deals des Tages","provider_url":"https:\/\/preis-king.com","author_name":"Sandra","author_url":"https:\/\/preis-king.com\/author\/sandra-p\/","title":"Anker 633 Magnetic Battery 10.000mAh f\u00fcr 39,99 \u20ac inkl. Prime Versand (statt 73,96 \u20ac)","type":"rich","width":600,"height":338,"html":"