Compare commits

..

1 Commits
1.0.8 ... main

Author SHA1 Message Date
242f979b18 wp-multi-toolkit.php aktualisiert 2025-05-06 05:55:27 +00:00

View File

@ -3,11 +3,12 @@
* Plugin Name: WP Multi Toolkit
* Plugin URI: https://git.viper.ipv64.net/M_Viper/wp-multi-toolkit
* Description: Ein umfassendes Toolkit inklusive WP Multi Funktionen und Update-Management für zugehörige Plugins.
* Version: 1.0.8
* Version: 1.0.9
* Author: M_Viper
* Author URI: https://m-viper.de
* Requires at least: 6.7.2
* Tested up to: 6.7.2
* Requires PHP: 7.4
* License: GPL2
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: wp-multi-toolkit
@ -103,18 +104,20 @@ defined('ABSPATH') or die('No direct access allowed.');
/**
* Löscht ein Backup aus dem Backup-Verzeichnis.
*/
function wpmt_delete_backup() {
if (isset($_POST['wpmt_action']) && $_POST['wpmt_action'] === 'delete_backup' && isset($_POST['backup_file']) && check_admin_referer('wpmt_delete_backup_nonce')) {
$backup_file = WPMT_BACKUP_DIR . sanitize_file_name($_POST['backup_file']);
if (file_exists($backup_file)) {
unlink($backup_file);
echo '<div class="updated"><p>' . __('Backup erfolgreich gelöscht!', 'wp-multi-toolkit') . '</p></div>';
} else {
echo '<div class="error"><p>' . __('Backup-Datei nicht gefunden.', 'wp-multi-toolkit') . '</p></div>';
}
}
}
function wpmt_delete_backup() {
if (!current_user_can('manage_options')) {
wp_die(__('Du hast nicht die Berechtigung, diese Aktion auszuführen.', 'wp-multi-toolkit'));
}
if (isset($_POST['wpmt_action']) && $_POST['wpmt_action'] === 'delete_backup' && isset($_POST['backup_file']) && check_admin_referer('wpmt_delete_backup_nonce')) {
$backup_file = WPMT_BACKUP_DIR . sanitize_file_name($_POST['backup_file']);
if (file_exists($backup_file)) {
unlink($backup_file);
echo '<div class="updated"><p>' . __('Backup erfolgreich gelöscht!', 'wp-multi-toolkit') . '</p></div>';
} else {
echo '<div class="error"><p>' . __('Backup-Datei nicht gefunden.', 'wp-multi-toolkit') . '</p></div>';
}
}
}
/**
* Plant automatische Backups via Cron-Job.
@ -643,67 +646,89 @@ function wpmt_cookie_banner_settings_page() {
// DSGVO-konforme Cookie Banner Darstellung
function wpmt_cookie_banner() {
// Überprüfen, ob der Cookie-Banner aktiv ist
$enabled = get_option('wpmt_enable_cookie_banner', '1');
if ($enabled !== '1') {
if (get_option('wpmt_enable_cookie_banner', '1') !== '1' || isset($_COOKIE['wpmt_cookie_accepted'])) {
return;
}
// Überprüfen, ob der Benutzer schon zugestimmt hat
if( isset($_COOKIE['wpmt_cookie_accepted']) ) {
return; // Banner wird nicht angezeigt, wenn der Nutzer zugestimmt hat
}
// Banner-Inhalte aus den Optionen
$banner_text = get_option('wpmt_cookie_banner_text', __('Wir verwenden Cookies, um Ihnen das beste Erlebnis zu bieten.', 'wp-multi-toolkit'));
$accept_text = get_option('wpmt_cookie_accept_text', __('Akzeptieren', 'wp-multi-toolkit'));
$decline_text = get_option('wpmt_cookie_decline_text', __('Ablehnen', 'wp-multi-toolkit'));
$settings_text = __('Einstellungen', 'wp-multi-toolkit');
$policy_url = get_option('wpmt_cookie_policy_url', '');
$impressum_url = get_option('wpmt_cookie_impressum_url', '');
$banner_background_color = get_option('wpmt_cookie_banner_background_color', '#f0f0f0');
// Banner Style
$banner_style = 'position:fixed; bottom:0; left:0; width:100%; background:' . esc_attr( $banner_background_color ) . '; padding:10px; text-align:center; z-index:1000;';
// HTML für den Cookie-Banner
echo '<div style="' . $banner_style . '" id="cookie-banner">';
echo '<p>' . esc_html($banner_text) . ' <a href="' . esc_url($policy_url) . '">' . __('Mehr erfahren', 'wp-multi-toolkit') . '</a> | <a href="' . esc_url($impressum_url) . '">' . __('Impressum', 'wp-multi-toolkit') . '</a></p>';
echo '<button id="accept-cookies" class="button">' . esc_html($accept_text) . '</button>';
echo '<button id="decline-cookies" class="button">' . esc_html($decline_text) . '</button>';
echo '</div>';
// JavaScript zum Setzen des Cookies nach Zustimmung
$banner_style = 'position:fixed; bottom:0; left:0; width:100%; background:' . esc_attr($banner_background_color) . '; padding:10px; text-align:center; z-index:1000;';
?>
<script type="text/javascript">
<div style="<?php echo $banner_style; ?>" id="cookie-banner">
<p><?php echo esc_html($banner_text); ?> <a href="<?php echo esc_url($policy_url); ?>"><?php _e('Mehr erfahren', 'wp-multi-toolkit'); ?></a> | <a href="<?php echo esc_url($impressum_url); ?>"><?php _e('Impressum', 'wp-multi-toolkit'); ?></a></p>
<button id="accept-cookies" class="button"><?php echo esc_html($accept_text); ?></button>
<button id="decline-cookies" class="button"><?php echo esc_html($decline_text); ?></button>
<button id="settings-cookies" class="button"><?php echo esc_html($settings_text); ?></button>
</div>
<div id="cookie-settings" style="display:none; position:fixed; bottom:0; left:0; width:100%; background:#fff; padding:20px; z-index:1001;">
<h3><?php _e('Cookie-Einstellungen', 'wp-multi-toolkit'); ?></h3>
<label><input type="checkbox" name="cookie_necessary" checked disabled> <?php _e('Notwendig', 'wp-multi-toolkit'); ?></label><br>
<label><input type="checkbox" name="cookie_preferences"> <?php _e('Präferenzen', 'wp-multi-toolkit'); ?></label><br>
<label><input type="checkbox" name="cookie_statistics"> <?php _e('Statistiken', 'wp-multi-toolkit'); ?></label><br>
<label><input type="checkbox" name="cookie_marketing"> <?php _e('Marketing', 'wp-multi-toolkit'); ?></label><br>
<button id="save-cookie-settings" class="button button-primary"><?php _e('Speichern', 'wp-multi-toolkit'); ?></button>
</div>
<script>
document.getElementById('accept-cookies').addEventListener('click', function() {
document.cookie = "wpmt_cookie_accepted=true; path=/; max-age=" + (60 * 60 * 24 * 365); // 1 Jahr gültig
document.cookie = "wpmt_cookie_accepted=true; path=/; max-age=" + (60 * 60 * 24 * 365);
document.getElementById('cookie-banner').style.display = 'none';
saveConsent(true);
});
document.getElementById('decline-cookies').addEventListener('click', function() {
document.getElementById('cookie-banner').style.display = 'none';
saveConsent(false);
});
document.getElementById('settings-cookies').addEventListener('click', function() {
document.getElementById('cookie-settings').style.display = 'block';
});
document.getElementById('save-cookie-settings').addEventListener('click', function() {
var settings = {
necessary: true,
preferences: document.querySelector('[name="cookie_preferences"]').checked,
statistics: document.querySelector('[name="cookie_statistics"]').checked,
marketing: document.querySelector('[name="cookie_marketing"]').checked
};
document.cookie = "wpmt_cookie_accepted=" + JSON.stringify(settings) + "; path=/; max-age=" + (60 * 60 * 24 * 365);
document.getElementById('cookie-banner').style.display = 'none';
document.getElementById('cookie-settings').style.display = 'none';
saveConsent(settings);
});
// Speichern der Zustimmung in der Datenbank
function saveConsent(settings) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '<?php echo admin_url('admin-ajax.php'); ?>', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('action=wpmt_save_cookie_consent&cookie_accepted=true');
});
document.getElementById('decline-cookies').addEventListener('click', function() {
document.getElementById('cookie-banner').style.display = 'none';
});
xhr.send('action=wpmt_save_cookie_consent&cookie_accepted=' + encodeURIComponent(JSON.stringify(settings)));
}
</script>
<?php
}
add_action('wp_footer', 'wpmt_cookie_banner');
// AJAX-Aktion für das Speichern der Zustimmung
function anonymize_ip($ip) {
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
$parts = explode('.', $ip);
return implode('.', array_slice($parts, 0, 2)) . '.0.0';
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
return bin2hex(inet_pton($ip) & pack('H*', 'ffffffffffffffff0000000000000000'));
}
return $ip;
}
function wpmt_save_cookie_consent() {
if (isset($_POST['cookie_accepted']) && $_POST['cookie_accepted'] === 'true') {
global $wpdb;
// Speichern der Zustimmung in der Datenbank
$wpdb->insert(
$wpdb->prefix . 'wpmt_cookie_consent',
array(
'user_ip' => $_SERVER['REMOTE_ADDR'],
'user_ip' => anonymize_ip($_SERVER['REMOTE_ADDR']),
'consent_given' => 1,
'timestamp' => current_time('mysql')
)
@ -998,7 +1023,6 @@ add_action('admin_menu', 'add_support_ticket_page');
/*
* Virtueller Assistent als Submenü
*/
defined('ABSPATH') or die('No direct access allowed.');
/**
@ -1029,7 +1053,7 @@ function wpmt_virtual_assistant_page() {
}, $keywords));
?>
<div class="wrap">
<div class="wrap animate-fade-in">
<h1><?php _e('WP Multi Virtueller Assistent', 'wp-multi-toolkit'); ?></h1>
<div class="wpmt-assistant-container">
<div class="wpmt-assistant-header">
@ -1064,13 +1088,13 @@ function wpmt_virtual_assistant_page() {
$('#assistant-chat-messages').empty();
if (chatHistory.length === 0) {
$('#assistant-chat-messages').append(
'<div class="wpmt-message assistant"><?php printf(__('Hi %s! Stell mir einfach eine Frage, und ich lege los! 🚀', 'wp-multi-toolkit'), esc_js($user_name)); ?></div>'
'<div class="wpmt-message assistant animate-slide-in-left"><?php printf(__('Hi %s! Stell mir einfach eine Frage, und ich lege los! 🚀', 'wp-multi-toolkit'), esc_js($user_name)); ?></div>'
);
} else {
chatHistory.forEach(function(item) {
$('#assistant-chat-messages').append(
'<div class="wpmt-message user">' + item.question + '</div>' +
'<div class="wpmt-message assistant">' + item.response + '</div>'
'<div class="wpmt-message user animate-slide-in-right">' + item.question + '</div>' +
'<div class="wpmt-message assistant animate-slide-in-left">' + item.response + '</div>'
);
});
}
@ -1092,8 +1116,8 @@ function wpmt_virtual_assistant_page() {
// Füge die Frage und den "Tippen"-Hinweis hinzu
$('#assistant-chat-messages').append(
'<div class="wpmt-message user">' + question + '</div>' +
'<div class="wpmt-message assistant wpmt-typing"><?php _e('Ich tippe gerade...', 'wp-multi-toolkit'); ?></div>'
'<div class="wpmt-message user animate-slide-in-right">' + question + '</div>' +
'<div class="wpmt-message assistant wpmt-typing animate-slide-in-left"><?php _e('Ich tippe gerade', 'wp-multi-toolkit'); ?><span class="typing-dots">...</span></div>'
);
scrollToBottom();
@ -1111,7 +1135,7 @@ function wpmt_virtual_assistant_page() {
$('.wpmt-typing').remove();
if (response.success) {
$('#assistant-chat-messages').append(
'<div class="wpmt-message assistant">' + response.data.response + '</div>'
'<div class="wpmt-message assistant animate-slide-in-left">' + response.data.response + '</div>'
);
chatHistory.push({
question: question,
@ -1122,7 +1146,7 @@ function wpmt_virtual_assistant_page() {
lastQuestion = question;
} else {
$('#assistant-chat-messages').append(
'<div class="wpmt-message assistant"><?php _e('Ups, etwas ist schiefgelaufen. Versuche es nochmal! 😓', 'wp-multi-toolkit'); ?></div>'
'<div class="wpmt-message assistant animate-slide-in-left"><?php _e('Ups, etwas ist schiefgelaufen. Versuche es nochmal! 😓', 'wp-multi-toolkit'); ?></div>'
);
}
scrollToBottom();
@ -1130,7 +1154,7 @@ function wpmt_virtual_assistant_page() {
error: function() {
$('.wpmt-typing').remove();
$('#assistant-chat-messages').append(
'<div class="wpmt-message assistant"><?php _e('Oh nein, meine Verbindung ist abgebrochen! 😵 Überprüfe deine Internetverbindung und versuche es erneut.', 'wp-multi-toolkit'); ?></div>'
'<div class="wpmt-message assistant animate-slide-in-left"><?php _e('Oh nein, meine Verbindung ist abgebrochen! 😵 Überprüfe deine Internetverbindung und versuche es erneut.', 'wp-multi-toolkit'); ?></div>'
);
scrollToBottom();
}
@ -1242,6 +1266,7 @@ function wpmt_virtual_assistant_page() {
max-width: 80%;
line-height: 1.5;
word-wrap: break-word;
opacity: 0; /* Für Animation */
}
.wpmt-message.user {
background: #0073aa;
@ -1329,6 +1354,42 @@ function wpmt_virtual_assistant_page() {
max-width: 90%;
}
}
/* Animationen */
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes slideInLeft {
from { transform: translateX(-20px); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
@keyframes slideInRight {
from { transform: translateX(20px); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
@keyframes typingDots {
0% { content: '.'; }
33% { content: '..'; }
66% { content: '...'; }
100% { content: '.'; }
}
.animate-fade-in {
animation: fadeIn 0.5s ease forwards;
}
.animate-slide-in-left {
animation: slideInLeft 0.5s ease forwards;
}
.animate-slide-in-right {
animation: slideInRight 0.5s ease forwards;
}
.wpmt-typing .typing-dots::after {
content: '...';
display: inline-block;
width: 1.5em;
text-align: left;
animation: typingDots 1.5s infinite;
}
</style>
<?php
}
@ -1578,294 +1639,294 @@ function wpmt_add_assistant_page() {
);
}
add_action('admin_menu', 'wpmt_add_assistant_page');
/**
* Antworten vordefinieren
*/
add_filter('wpmt_assistant_responses', function($responses) {
$current_user = wp_get_current_user();
$user_name = $current_user->display_name ?: __('Freund', 'wp-multi-toolkit');
// WP Multi
$responses['statistik'] = sprintf(
__('Hey %s, willst du die Statistiken deiner Website im Blick haben? 📊 Füge den Shortcode <code>[statistik_manager]</code> in einen Beitrag oder eine Seite ein, um sie anzuzeigen. Oder gehe zu <strong>WP Stat & Notice</strong>, um Details wie Beitragsanzahl, Kommentare oder Kategorien zu sehen. Tipp: Aktiviere Benachrichtigungen für wichtige Updates! Bereit, deine Daten zu checken? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['telegram'] = sprintf(
__('Telegram-Benachrichtigungen einrichten, %s? Super einfach! 🔔 Gehe zu <strong>Notify > TG-Notify</strong>, erstelle einen Bot über BotFather und folge den Schritten, um ihn zu konfigurieren. Neue Beiträge oder Kommentare landen direkt in deinem Chat. <a href="%s" class="wpmt-action">Jetzt einrichten</a>. Tipp: Teste den Bot mit einer Probemitteilung! Alles klar? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=tg-notify')
);
$responses['discord'] = sprintf(
__('Discord-Benachrichtigungen für deine Community, %s? 😄 Gehe zu <strong>Notify > DC-Notify</strong>, erstelle einen Webhook in deinem Discord-Server und füge ihn in den Einstellungen ein. Neue Beiträge werden automatisch gepostet. <a href="%s" class="wpmt-action">Los gehts!</a> Tipp: Nutze einen separaten Kanal für Benachrichtigungen! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp-multi')
);
$responses['admin links'] = sprintf(
__('Eigene Admin-Links hinzufügen, %s? Perfekt für schnellen Zugriff! 🔧 Gehe zu <strong>Werkzeuge > Admin-Link hinzufügen</strong>, gib Namen und URL ein (z. B. für externe Tools) und speichere. Deine Links erscheinen im Admin-Menü. Tipp: Gruppiere Links für bessere Übersicht! Alles organisiert? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['gast-autor'] = sprintf(
__('Gastautoren auf deiner Seite, %s? 😊 Gehe zu <strong>Benutzer > Gastautor (Übersicht)</strong>, füge Autoren hinzu und weise ihnen Beiträge zu. Ihre Namen erscheinen automatisch im Frontend. Tipp: Füge eine kurze Bio hinzu, um sie vorzustellen! Einfach, oder? ✨', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['beitrag report'] = sprintf(
__('Probleme mit Beiträgen, %s? 🧹 Unter <strong>Gemeldete Beiträge</strong> kannst du unangemessene Inhalte prüfen, bearbeiten oder löschen. So bleibt deine Seite sauber! Brauchst du Hilfe? Erstelle ein <a href="%s" class="wpmt-action">Support-Ticket</a>. Alles unter Kontrolle? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['textbox'] = sprintf(
__('Eine Textbox am Beitragsende, %s? Ideal für Hinweise oder Werbung! ✨ Gehe zu <strong>WP Multi > Textbox</strong>, füge deinen Text ein und passe das Design an. Die Box erscheint automatisch unter Beiträgen. Tipp: Nutze auffällige Farben für mehr Aufmerksamkeit! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['banner'] = sprintf(
__('Ein schickes Banner, %s? 🎨 Gehe zu <strong>WP Stat & Notice</strong>, lade ein Bild hoch und wähle Header oder Footer. Perfekt, um Neuigkeiten zu präsentieren! Tipp: Verwende Bilder mit hohem Kontrast für bessere Sichtbarkeit. Los gehts! 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['inhaltsverzeichnis'] = sprintf(
__('Ein Inhaltsverzeichnis für deine Beiträge, %s? 🚀 Nutze den Shortcode <code>[alphabetical_index]</code>, um alle Beiträge übersichtlich aufzulisten. Ideal für Blogs mit vielen Inhalten! Tipp: Kombiniere es mit Kategoriefiltern für mehr Struktur. Alles klar? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['lesezeichen'] = sprintf(
__('Lesezeichen für deine Besucher, %s? 😎 Mit <code>[add_bookmark]</code> können Nutzer Beiträge speichern, und <code>[display_bookmarks]</code> zeigt ihre Liste. Alles per Cookie keine Datenbank nötig! Tipp: Füge die Shortcodes in eine Sidebar für schnellen Zugriff! Cool, oder? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['custom shortcode'] = sprintf(
__('Eigene Shortcodes erstellen, %s? Super flexibel! 😉 Gehe zu <strong>WP Multi > Shortcodes</strong>, lege deinen Shortcode an und füge ihn im Editor ein. Ideal für wiederkehrende Inhalte! Tipp: Dokumentiere deine Shortcodes für spätere Änderungen. Bereit zum Codieren? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['kommentar sperren'] = sprintf(
__('Bestimmte Nutzer blockieren, %s? 🛡️ Gehe zu <strong>Benutzer sperren</strong>, gib Benutzername, IP oder E-Mail ein und speichere. So bleibt die Kommentarspalte sauber! Tipp: Überprüfe die Sperrliste regelmäßig, um sie aktuell zu halten. Alles sicher? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['filter'] = sprintf(
__('Kommentare filtern, %s? 😊 Gehe zu <strong>Kommentare > Kommentar Filter</strong> und verbiete URLs, Schimpfwörter oder Telefonnummern. Verstöße werden mit * ersetzt. Tipp: Teste die Filter mit einem Probekommentar, um sicherzugehen! Deine Community wirds lieben! 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['analytics'] = sprintf(
__('Datenanalyse für deine Beiträge, %s? 📊 Unter <strong>Benutzer > Benutzer Analytics</strong> siehst du Views, Kommentare, Top-Beiträge und mehr. Perfekt, um Inhalte zu optimieren! Tipp: Exportiere die Daten für langfristige Analysen. Bereit, ein Profi zu werden? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['pinwand'] = sprintf(
__('Nachrichten für dein Team, %s? 📌 Unter <strong>Pinnwand</strong> kannst du Notizen für Admins oder Redakteure hinterlegen. Erstelle, bearbeite oder lösche sie jederzeit. Tipp: Nutze die Pinnwand für wichtige To-Dos! Alles organisiert? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['brute force'] = sprintf(
__('Sicherheit zuerst, %s! 🛡️ Der Brute-Force-Schutz protokolliert Fehlversuche und sperrt nach 5 Versuchen. Einstellungen findest du unter <strong>Sicherheit</strong>. Tipp: Aktiviere Benachrichtigungen, um verdächtige Aktivitäten zu überwachen! Alles sicher? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['anti spam'] = sprintf(
__('Spam loswerden, %s? 😒 Aktiviere den Anti-Spam-Schutz unter <strong>Sicherheit</strong>, um Bots zu blockieren. Spam-Kommentare werden automatisch gefiltert. Tipp: Kombiniere es mit Kommentarfiltern für doppelten Schutz! Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['auto tag'] = sprintf(
__('Automatische Tags, %s? ⏳ Gehe zu <strong>Beiträge > Automatische Tags</strong>, füge fehlende Tags hinzu oder verbiete Wörter. Spart Zeit! Tipp: Überprüfe die Tags regelmäßig, um sie an deine Inhalte anzupassen. Alles klar? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['login deaktivieren'] = sprintf(
__('Logins deaktivieren, %s? 🔒 Gehe zu <strong>Benutzer > Alle Benutzer</strong>, wähle einen Benutzer und schalte den Login ab. Ideal für temporäre Sperren. Tipp: Notiere dir, wen du deaktiviert hast! Alles unter Kontrolle? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['text copy'] = sprintf(
__('Inhalte schützen, %s? 🛡️ Aktiviere die Rechtsklick-Sperre unter <strong>WP Multi-Einstellungen</strong>, um Texte vor Kopieren zu sichern. Perfekt für Blogs! Tipp: Füge einen Hinweis hinzu, warum Kopieren deaktiviert ist. Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['trash mail'] = sprintf(
__('Kein Bock auf Spam-Mails, %s? 😊 Wir blockieren Trash-Mails in Kommentaren automatisch. Die Liste wird vom Entwickler gepflegt du musst nichts tun! Tipp: Aktiviere Anti-Spam für extra Schutz! Alles sauber? 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Comment Notifications
$responses['kommentar benachrichtigung'] = sprintf(
__('Immer über neue Kommentare informiert, %s? 🔔 Gehe zu <strong>Kommentare > Kommentar Benachrichtigung</strong> und richte E-Mail, Telegram oder Discord ein. Tipp: Filtere Benachrichtigungen, um nur wichtige zu erhalten! Nie wieder etwas verpassen! 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Kategorie
$responses['kategorien ausblenden'] = sprintf(
__('Kategorien ausblenden, %s? 🗂️ Gehe zu <strong>Beiträge > Kategorie Filter</strong> und wähle, was im Frontend nicht angezeigt werden soll. Ideal für eine saubere Seite! Tipp: Teste Änderungen in der Vorschau! Alles organisiert? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Search
$responses['suchfunktion'] = sprintf(
__('Eine starke Suche, %s? 🔍 Füge WP Multi Search über Shortcode, Widget oder Menü hinzu. Einstellungen findest du unter <strong>Einstellung > WP-Multi Search</strong>. Tipp: Aktiviere Autovervollständigung für bessere Ergebnisse! Bereit, alles zu finden? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Team-Card
$responses['teamcard'] = sprintf(
__('Dein Team präsentieren, %s? 🌟 Mit WP Multi Team-Card erstellst du professionelle Teamkarten mit Namen, Funktionen und Bildern. Nutze <code>[teamcards]</code> im Frontend. <a href="%s" class="wpmt-action">Jetzt ausprobieren</a> und dein Team ins Rampenlicht stellen! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=teamcard_management')
);
$responses['teammitglied hinzufügen'] = sprintf(
__('Ein neues Teammitglied, %s? 😄 Gehe zu <strong>Team-Cards</strong>, gib Name, Funktion, Zuständigkeit und Bild ein und klicke auf <strong>Hinzufügen</strong>. Tipp: Wähle hochauflösende Bilder für beste Darstellung! Bereit fürs Update? ✨', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard shortcode'] = sprintf(
__('Teamkarten anzeigen, %s? 🚀 Nutze <code>[teamcards]</code> für alle Mitglieder oder <code>[teamcards kategorie="slug"]</code> für eine Kategorie. Füge den Shortcode in Beiträge ein. Tipp: Teste verschiedene Layouts! Alles klar? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard kategorie'] = sprintf(
__('Kategorien für Teamkarten, %s? 🗂️ Erstelle sie unter <strong>Beiträge > Kategorien</strong> und weise sie Mitgliedern zu. Zeige sie mit <code>[teamcards kategorie="slug"]</code>. Tipp: Sortiere Teams nach Abteilungen! Alles organisiert? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard bild'] = sprintf(
__('Ein Bild für ein Teammitglied, %s? 😊 In <strong>Team-Cards</strong> klickst du auf <strong>Bild auswählen</strong> und lädst ein Foto hoch. Es erscheint in der Teamkarte. Tipp: Nutze quadratische Bilder für einheitliches Design! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard löschen'] = sprintf(
__('Ein Teammitglied entfernen, %s? 🗑️ Gehe zu <strong>Team-Cards</strong>, finde das Mitglied und klicke auf <strong>Löschen</strong>. Tipp: Sichere Daten vor dem Löschen! Schnell erledigt? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard reihenfolge'] = sprintf(
__('Reihenfolge der Teamkarten ändern, %s? 😎 In <strong>Team-Cards</strong> verschiebst du Mitglieder per Drag-and-Drop. Tipp: Speichere nach dem Sortieren, um Änderungen zu sichern! Alles sortiert? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard deinstallation'] = sprintf(
__('Team-Card deinstallieren, %s? ⚠️ Achtung: Alle Teammitglieder und Bilder werden gelöscht. Sichere Daten mit einem Backup! Mehr Infos: <a href="%s" class="wpmt-action">Mehr Infos</a>. Alles klar? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper/wp-multi-teamcard'
);
$responses['teamcard updates'] = sprintf(
__('Updates für Team-Card, %s? 🚀 Schau auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> für die neueste Version. Updates werden auch im Admin-Bereich angezeigt. Tipp: Lies die Changelogs für neue Features! Bleib up to date! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper/wp-multi-teamcard'
);
// WP Multi Toolkit
$responses['update management'] = sprintf(
__('Updates im Griff, %s? 🌟 Im Dashboard-Widget <strong>Verfügbare Updates für WP Multi Toolkit</strong> siehst du den Status aller Plugins. Lade neue Versionen herunter und installiere sie. <a href="%s" class="wpmt-action">Jetzt prüfen</a>. Tipp: Sichere deine Seite vor Updates! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('index.php')
);
$responses['support issues'] = sprintf(
__('Hilfe nötig, %s? 😊 Erstelle ein Support-Ticket unter <strong>WP-Multi Support</strong>. Beschreibe dein Problem genau, und wir melden uns schnell! <a href="%s" class="wpmt-action">Ticket erstellen</a>. Tipp: Screenshots helfen uns, schneller zu reagieren! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['dokumentation'] = sprintf(
__('Alles über WP Multi erfahren, %s? 📚 Die Dokumentation findest du unter <strong>WP-Multi Support > Dokumentation</strong>. Dort gibts Anleitungen und FAQs. <a href="%s" class="wpmt-action">Dokumentation ansehen</a>. Tipp: Nutze die Suche in der Doku! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['virtueller assistent'] = sprintf(
__('Das bin ich, %s! 😄 Dein virtueller Assistent für alle WP Multi Fragen. Stelle mir deine Fragen unter <strong>WP-Multi Support > Virtueller Assistent</strong>. Tipp: Frag nach spezifischen Features, ich kenne sie alle! Wie kann ich dir helfen? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['toolbar'] = sprintf(
__('Die Schnellstart-Toolbar, %s? 🚀 Unten rechts findest du Support, Updates, Dokumentation und mich alles in einem Klick! Tipp: Halte die Toolbar aktiviert für schnellen Zugriff! Praktisch, oder? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['wp multi plugins'] = sprintf(
__('Neugierig auf WP Multi Plugins, %s? 🌟 Hier die Übersicht:<ul><li><strong>WP Multi Toolkit</strong>: Zentrale für alle Plugins.</li><li><strong>WP Multi</strong>: Viele Funktionen.</li><li><strong>WP Multi Comment Notifications</strong>: Kommentar-Benachrichtigungen.</li><li><strong>WP Multi Search</strong>: Smarte Suche.</li><li><strong>WP Multi Kategorie</strong>: Kategoriefilter.</li><li><strong>WP Multi Team-Cards</strong>: Teamkarten.</li></ul>Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
// Allgemeine Fragen und Antworten
$responses['was sind wp multi plugins'] = sprintf(
__('WP Multi Plugins, %s? 🚀 Eine Sammlung cooler Tools für deine Website! Von Statistiken über Sicherheit bis Benachrichtigungen alles dabei. Schau unter <strong>wp multi plugins</strong> oder auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Bereit, deine Seite zu boosten? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie installiere ich ein plugin'] = sprintf(
__('Ein Plugin installieren, %s? 😊 Gehe zu <strong>Plugins > Neu hinzufügen</strong>, lade die Datei von <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> hoch und aktiviere es. Oder per FTP in <code>/wp-content/plugins/</code>. Tipp: Lies die Doku für Details! Los gehts! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wo finde ich updates'] = sprintf(
__('Updates, %s? 🌟 Im Dashboard-Widget <strong>Verfügbare Updates für WP Multi Toolkit</strong> oder auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Lade die neue Version hoch! Tipp: Sichere deine Seite vor Updates! Bleib frisch! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie erstelle ich ein support ticket'] = sprintf(
__('Ein Support-Ticket, %s? 😊 Gehe zu <strong>WP-Multi Support</strong>, wähle das Plugin, gib Titel und Beschreibung ein und sende es ab. <a href="%s" class="wpmt-action">Jetzt erstellen</a>. Tipp: Füge Screenshots hinzu! Wir helfen schnell! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['welche voraussetzungen gibt es'] = sprintf(
__('Voraussetzungen, %s? 📋 Mindestens WordPress 6.7.2 und PHP 7.4. Für Telegram/Discord brauchst du API-Keys. Details in der <a href="%s" class="wpmt-action">Dokumentation</a>. Tipp: Prüfe deine Server-Einstellungen! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['sind die plugins kostenlos'] = sprintf(
__('Kostenlos, %s? 😄 Ja, alle WP Multi Plugins sind gratis auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>! Tipp: Spende dem Entwickler einen Kaffee, wenn sie dir gefallen! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie deaktiviere ich ein plugin'] = sprintf(
__('Plugin deaktivieren, %s? 😎 Gehe zu <strong>Plugins > Installierte Plugins</strong>, klicke auf <strong>Deaktivieren</strong> oder <strong>Löschen</strong>. Tipp: Deaktiviere vor Updates, um Konflikte zu vermeiden! Alles klar? 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['wo finde ich die dokumentation'] = sprintf(
__('Dokumentation, %s? 📚 Unter <strong>WP-Multi Support > Dokumentation</strong> findest du Anleitungen und FAQs. <a href="%s" class="wpmt-action">Jetzt ansehen</a>. Tipp: Nutze die Suche in der Doku! Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wer entwickelt die plugins'] = sprintf(
__('Wer entwickelt sie, %s? 😊 M_Viper, ein WordPress-Fan! Besuche <a href="%s" class="wpmt-action">m-viper.de</a> oder <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Tipp: Folge M_Viper für News! Cool, oder? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://m-viper.de',
'https://git.viper.ipv64.net/M_Viper'
);
$responses['kann ich eigene funktionen hinzufügen'] = sprintf(
__('Eigene Funktionen, %s? 🌟 Die Plugins sind Open Source! Schau den Code auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> an. Ideen? Erstelle ein Ticket mit <strong>Verbesserung</strong>! Tipp: Teste in einer Staging-Umgebung! Bereit? 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
// Neue allgemeine Antworten
$responses['wie richte ich wp multi ein'] = sprintf(
__('WP Multi einrichten, %s? 🚀 Nach der Installation gehe zu <strong>WP-Multi Support</strong> und aktiviere die Plugins. Folge der Anleitung in der <a href="%s" class="wpmt-action">Dokumentation</a>. Tipp: Prüfe, ob deine WordPress-Version aktuell ist! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['was ist wordpress'] = sprintf(
__('WordPress, %s? 📝 Ein kostenloses CMS für Websites, Blogs oder Shops ohne Programmierkenntnisse! WP Multi Plugins machen es noch besser. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Neugierig? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie sichere ich meine website'] = sprintf(
__('Website sichern, %s? 🛡️ Nutze WP Multi Features wie Brute-Force-Schutz und Anti-Spam unter <strong>Sicherheit</strong>. Erstelle Backups (z. B. mit UpdraftPlus) und aktiviere die Rechtsklick-Sperre. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Alles sicher? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie verbessere ich die performance'] = sprintf(
__('Performance boosten, %s? ⚡ Nutze WP Multi Search für schnelle Suchen und Caching-Plugins wie WP Super Cache. Optimiere Bilder und prüfe Ladezeiten unter <strong>Benutzer > Benutzer Analytics</strong>. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Bereit für Speed? 😎', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie kontaktiere ich den support'] = sprintf(
__('Support kontaktieren, %s? 😊 Erstelle ein Ticket unter <strong>WP-Multi Support</strong> (<a href="%s" class="wpmt-action">Ticket erstellen</a>) oder besuche <a href="%s" class="wpmt-action">m-viper.de</a>. Tipp: Beschreibe dein Problem genau! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support'),
'https://m-viper.de'
);
$responses['welche plugins sind kompatibel'] = sprintf(
__('Kompatible Plugins, %s? 🌟 WP Multi Plugins passen zu den meisten WordPress-Plugins, wenn sie die Standards einhalten. Teste in einer Staging-Umgebung. Probleme? Schau in die <a href="%s" class="wpmt-action">Dokumentation</a> oder erstelle ein <a href="%s" class="wpmt-action">Support-Ticket</a>! Alles klar? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs'),
admin_url('admin.php?page=wp_multi_support')
);
$responses['wie teste ich ein plugin'] = sprintf(
__('Plugin testen, %s? 😊 Installiere es in einer Staging-Umgebung oder lokal. Aktiviere es, teste Funktionen und prüfe Kompatibilität. Probleme? Schau in die <a href="%s" class="wpmt-action">Dokumentation</a> oder kontaktiere den <a href="%s" class="wpmt-action">Support</a>. Tipp: Deaktiviere andere Plugins, um Konflikte zu finden! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs'),
admin_url('admin.php?page=wp_multi_support')
);
return $responses;
});
/**
* Sicherstellen, dass jQuery geladen wird
*/
function wpmt_enqueue_scripts() {
wp_enqueue_script('jquery');
}
add_action('admin_enqueue_scripts', 'wpmt_enqueue_scripts');
/**
* Antworten vordefinieren
*/
add_filter('wpmt_assistant_responses', function($responses) {
$current_user = wp_get_current_user();
$user_name = $current_user->display_name ?: __('Freund', 'wp-multi-toolkit');
// WP Multi
$responses['statistik'] = sprintf(
__('Hey %s, willst du die Statistiken deiner Website im Blick haben? 📊 Füge den Shortcode <code>[statistik_manager]</code> in einen Beitrag oder eine Seite ein, um sie anzuzeigen. Oder gehe zu <strong>WP Stat & Notice</strong>, um Details wie Beitragsanzahl, Kommentare oder Kategorien zu sehen. Tipp: Aktiviere Benachrichtigungen für wichtige Updates! Bereit, deine Daten zu checken? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['telegram'] = sprintf(
__('Telegram-Benachrichtigungen einrichten, %s? Super einfach! 🔔 Gehe zu <strong>Notify > TG-Notify</strong>, erstelle einen Bot über BotFather und folge den Schritten, um ihn zu konfigurieren. Neue Beiträge oder Kommentare landen direkt in deinem Chat. <a href="%s" class="wpmt-action">Jetzt einrichten</a>. Tipp: Teste den Bot mit einer Probemitteilung! Alles klar? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=tg-notify')
);
$responses['discord'] = sprintf(
__('Discord-Benachrichtigungen für deine Community, %s? 😄 Gehe zu <strong>Notify > DC-Notify</strong>, erstelle einen Webhook in deinem Discord-Server und füge ihn in den Einstellungen ein. Neue Beiträge werden automatisch gepostet. <a href="%s" class="wpmt-action">Los gehts!</a> Tipp: Nutze einen separaten Kanal für Benachrichtigungen! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp-multi')
);
$responses['admin links'] = sprintf(
__('Eigene Admin-Links hinzufügen, %s? Perfekt für schnellen Zugriff! 🔧 Gehe zu <strong>Werkzeuge > Admin-Link hinzufügen</strong>, gib Namen und URL ein (z. B. für externe Tools) und speichere. Deine Links erscheinen im Admin-Menü. Tipp: Gruppiere Links für bessere Übersicht! Alles organisiert? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['gast-autor'] = sprintf(
__('Gastautoren auf deiner Seite, %s? 😊 Gehe zu <strong>Benutzer > Gastautor (Übersicht)</strong>, füge Autoren hinzu und weise ihnen Beiträge zu. Ihre Namen erscheinen automatisch im Frontend. Tipp: Füge eine kurze Bio hinzu, um sie vorzustellen! Einfach, oder? ✨', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['beitrag report'] = sprintf(
__('Probleme mit Beiträgen, %s? 🧹 Unter <strong>Gemeldete Beiträge</strong> kannst du unangemessene Inhalte prüfen, bearbeiten oder löschen. So bleibt deine Seite sauber! Brauchst du Hilfe? Erstelle ein <a href="%s" class="wpmt-action">Support-Ticket</a>. Alles unter Kontrolle? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['textbox'] = sprintf(
__('Eine Textbox am Beitragsende, %s? Ideal für Hinweise oder Werbung! ✨ Gehe zu <strong>WP Multi > Textbox</strong>, füge deinen Text ein und passe das Design an. Die Box erscheint automatisch unter Beiträgen. Tipp: Nutze auffällige Farben für mehr Aufmerksamkeit! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['banner'] = sprintf(
__('Ein schickes Banner, %s? 🎨 Gehe zu <strong>WP Stat & Notice</strong>, lade ein Bild hoch und wähle Header oder Footer. Perfekt, um Neuigkeiten zu präsentieren! Tipp: Verwende Bilder mit hohem Kontrast für bessere Sichtbarkeit. Los gehts! 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['inhaltsverzeichnis'] = sprintf(
__('Ein Inhaltsverzeichnis für deine Beiträge, %s? 🚀 Nutze den Shortcode <code>[alphabetical_index]</code>, um alle Beiträge übersichtlich aufzulisten. Ideal für Blogs mit vielen Inhalten! Tipp: Kombiniere es mit Kategoriefiltern für mehr Struktur. Alles klar? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['lesezeichen'] = sprintf(
__('Lesezeichen für deine Besucher, %s? 😎 Mit <code>[add_bookmark]</code> können Nutzer Beiträge speichern, und <code>[display_bookmarks]</code> zeigt ihre Liste. Alles per Cookie keine Datenbank nötig! Tipp: Füge die Shortcodes in eine Sidebar für schnellen Zugriff! Cool, oder? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['custom shortcode'] = sprintf(
__('Eigene Shortcodes erstellen, %s? Super flexibel! 😉 Gehe zu <strong>WP Multi > Shortcodes</strong>, lege deinen Shortcode an und füge ihn im Editor ein. Ideal für wiederkehrende Inhalte! Tipp: Dokumentiere deine Shortcodes für spätere Änderungen. Bereit zum Codieren? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['kommentar sperren'] = sprintf(
__('Bestimmte Nutzer blockieren, %s? 🛡️ Gehe zu <strong>Benutzer sperren</strong>, gib Benutzername, IP oder E-Mail ein und speichere. So bleibt die Kommentarspalte sauber! Tipp: Überprüfe die Sperrliste regelmäßig, um sie aktuell zu halten. Alles sicher? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['filter'] = sprintf(
__('Kommentare filtern, %s? 😊 Gehe zu <strong>Kommentare > Kommentar Filter</strong> und verbiete URLs, Schimpfwörter oder Telefonnummern. Verstöße werden mit * ersetzt. Tipp: Teste die Filter mit einem Probekommentar, um sicherzugehen! Deine Community wirds lieben! 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['analytics'] = sprintf(
__('Datenanalyse für deine Beiträge, %s? 📊 Unter <strong>Benutzer > Benutzer Analytics</strong> siehst du Views, Kommentare, Top-Beiträge und mehr. Perfekt, um Inhalte zu optimieren! Tipp: Exportiere die Daten für langfristige Analysen. Bereit, ein Profi zu werden? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['pinwand'] = sprintf(
__('Nachrichten für dein Team, %s? 📌 Unter <strong>Pinnwand</strong> kannst du Notizen für Admins oder Redakteure hinterlegen. Erstelle, bearbeite oder lösche sie jederzeit. Tipp: Nutze die Pinnwand für wichtige To-Dos! Alles organisiert? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['brute force'] = sprintf(
__('Sicherheit zuerst, %s! 🛡️ Der Brute-Force-Schutz protokolliert Fehlversuche und sperrt nach 5 Versuchen. Einstellungen findest du unter <strong>Sicherheit</strong>. Tipp: Aktiviere Benachrichtigungen, um verdächtige Aktivitäten zu überwachen! Alles sicher? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['anti spam'] = sprintf(
__('Spam loswerden, %s? 😒 Aktiviere den Anti-Spam-Schutz unter <strong>Sicherheit</strong>, um Bots zu blockieren. Spam-Kommentare werden automatisch gefiltert. Tipp: Kombiniere es mit Kommentarfiltern für doppelten Schutz! Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['auto tag'] = sprintf(
__('Automatische Tags, %s? ⏳ Gehe zu <strong>Beiträge > Automatische Tags</strong>, füge fehlende Tags hinzu oder verbiete Wörter. Spart Zeit! Tipp: Überprüfe die Tags regelmäßig, um sie an deine Inhalte anzupassen. Alles klar? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['login deaktivieren'] = sprintf(
__('Logins deaktivieren, %s? 🔒 Gehe zu <strong>Benutzer > Alle Benutzer</strong>, wähle einen Benutzer und schalte den Login ab. Ideal für temporäre Sperren. Tipp: Notiere dir, wen du deaktiviert hast! Alles unter Kontrolle? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['text copy'] = sprintf(
__('Inhalte schützen, %s? 🛡️ Aktiviere die Rechtsklick-Sperre unter <strong>WP Multi-Einstellungen</strong>, um Texte vor Kopieren zu sichern. Perfekt für Blogs! Tipp: Füge einen Hinweis hinzu, warum Kopieren deaktiviert ist. Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['trash mail'] = sprintf(
__('Kein Bock auf Spam-Mails, %s? 😊 Wir blockieren Trash-Mails in Kommentaren automatisch. Die Liste wird vom Entwickler gepflegt du musst nichts tun! Tipp: Aktiviere Anti-Spam für extra Schutz! Alles sauber? 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Comment Notifications
$responses['kommentar benachrichtigung'] = sprintf(
__('Immer über neue Kommentare informiert, %s? 🔔 Gehe zu <strong>Kommentare > Kommentar Benachrichtigung</strong> und richte E-Mail, Telegram oder Discord ein. Tipp: Filtere Benachrichtigungen, um nur wichtige zu erhalten! Nie wieder etwas verpassen! 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Kategorie
$responses['kategorien ausblenden'] = sprintf(
__('Kategorien ausblenden, %s? 🗂️ Gehe zu <strong>Beiträge > Kategorie Filter</strong> und wähle, was im Frontend nicht angezeigt werden soll. Ideal für eine saubere Seite! Tipp: Teste Änderungen in der Vorschau! Alles organisiert? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Search
$responses['suchfunktion'] = sprintf(
__('Eine starke Suche, %s? 🔍 Füge WP Multi Search über Shortcode, Widget oder Menü hinzu. Einstellungen findest du unter <strong>Einstellung > WP-Multi Search</strong>. Tipp: Aktiviere Autovervollständigung für bessere Ergebnisse! Bereit, alles zu finden? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
// WP Multi Team-Card
$responses['teamcard'] = sprintf(
__('Dein Team präsentieren, %s? 🌟 Mit WP Multi Team-Card erstellst du professionelle Teamkarten mit Namen, Funktionen und Bildern. Nutze <code>[teamcards]</code> im Frontend. <a href="%s" class="wpmt-action">Jetzt ausprobieren</a> und dein Team ins Rampenlicht stellen! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=teamcard_management')
);
$responses['teammitglied hinzufügen'] = sprintf(
__('Ein neues Teammitglied, %s? 😄 Gehe zu <strong>Team-Cards</strong>, gib Name, Funktion, Zuständigkeit und Bild ein und klicke auf <strong>Hinzufügen</strong>. Tipp: Wähle hochauflösende Bilder für beste Darstellung! Bereit fürs Update? ✨', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard shortcode'] = sprintf(
__('Teamkarten anzeigen, %s? 🚀 Nutze <code>[teamcards]</code> für alle Mitglieder oder <code>[teamcards kategorie="slug"]</code> für eine Kategorie. Füge den Shortcode in Beiträge ein. Tipp: Teste verschiedene Layouts! Alles klar? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard kategorie'] = sprintf(
__('Kategorien für Teamkarten, %s? 🗂️ Erstelle sie unter <strong>Beiträge > Kategorien</strong> und weise sie Mitgliedern zu. Zeige sie mit <code>[teamcards kategorie="slug"]</code>. Tipp: Sortiere Teams nach Abteilungen! Alles organisiert? 😎', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard bild'] = sprintf(
__('Ein Bild für ein Teammitglied, %s? 😊 In <strong>Team-Cards</strong> klickst du auf <strong>Bild auswählen</strong> und lädst ein Foto hoch. Es erscheint in der Teamkarte. Tipp: Nutze quadratische Bilder für einheitliches Design! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard löschen'] = sprintf(
__('Ein Teammitglied entfernen, %s? 🗑️ Gehe zu <strong>Team-Cards</strong>, finde das Mitglied und klicke auf <strong>Löschen</strong>. Tipp: Sichere Daten vor dem Löschen! Schnell erledigt? 😄', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard reihenfolge'] = sprintf(
__('Reihenfolge der Teamkarten ändern, %s? 😎 In <strong>Team-Cards</strong> verschiebst du Mitglieder per Drag-and-Drop. Tipp: Speichere nach dem Sortieren, um Änderungen zu sichern! Alles sortiert? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['teamcard deinstallation'] = sprintf(
__('Team-Card deinstallieren, %s? ⚠️ Achtung: Alle Teammitglieder und Bilder werden gelöscht. Sichere Daten mit einem Backup! Mehr Infos: <a href="%s" class="wpmt-action">Mehr Infos</a>. Alles klar? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper/wp-multi-teamcard'
);
$responses['teamcard updates'] = sprintf(
__('Updates für Team-Card, %s? 🚀 Schau auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> für die neueste Version. Updates werden auch im Admin-Bereich angezeigt. Tipp: Lies die Changelogs für neue Features! Bleib up to date! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper/wp-multi-teamcard'
);
// WP Multi Toolkit
$responses['update management'] = sprintf(
__('Updates im Griff, %s? 🌟 Im Dashboard-Widget <strong>Verfügbare Updates für WP Multi Toolkit</strong> siehst du den Status aller Plugins. Lade neue Versionen herunter und installiere sie. <a href="%s" class="wpmt-action">Jetzt prüfen</a>. Tipp: Sichere deine Seite vor Updates! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('index.php')
);
$responses['support issues'] = sprintf(
__('Hilfe nötig, %s? 😊 Erstelle ein Support-Ticket unter <strong>WP-Multi Support</strong>. Beschreibe dein Problem genau, und wir melden uns schnell! <a href="%s" class="wpmt-action">Ticket erstellen</a>. Tipp: Screenshots helfen uns, schneller zu reagieren! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['dokumentation'] = sprintf(
__('Alles über WP Multi erfahren, %s? 📚 Die Dokumentation findest du unter <strong>WP-Multi Support > Dokumentation</strong>. Dort gibts Anleitungen und FAQs. <a href="%s" class="wpmt-action">Dokumentation ansehen</a>. Tipp: Nutze die Suche in der Doku! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['virtueller assistent'] = sprintf(
__('Das bin ich, %s! 😄 Dein virtueller Assistent für alle WP Multi Fragen. Stelle mir deine Fragen unter <strong>WP-Multi Support > Virtueller Assistent</strong>. Tipp: Frag nach spezifischen Features, ich kenne sie alle! Wie kann ich dir helfen? 🚀', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['toolbar'] = sprintf(
__('Die Schnellstart-Toolbar, %s? 🚀 Unten rechts findest du Support, Updates, Dokumentation und mich alles in einem Klick! Tipp: Halte die Toolbar aktiviert für schnellen Zugriff! Praktisch, oder? 😊', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['wp multi plugins'] = sprintf(
__('Neugierig auf WP Multi Plugins, %s? 🌟 Hier die Übersicht:<ul><li><strong>WP Multi Toolkit</strong>: Zentrale für alle Plugins.</li><li><strong>WP Multi</strong>: Viele Funktionen.</li><li><strong>WP Multi Comment Notifications</strong>: Kommentar-Benachrichtigungen.</li><li><strong>WP Multi Search</strong>: Smarte Suche.</li><li><strong>WP Multi Kategorie</strong>: Kategoriefilter.</li><li><strong>WP Multi Team-Cards</strong>: Teamkarten.</li></ul>Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
// Allgemeine Fragen und Antworten
$responses['was sind wp multi plugins'] = sprintf(
__('WP Multi Plugins, %s? 🚀 Eine Sammlung cooler Tools für deine Website! Von Statistiken über Sicherheit bis Benachrichtigungen alles dabei. Schau unter <strong>wp multi plugins</strong> oder auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Bereit, deine Seite zu boosten? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie installiere ich ein plugin'] = sprintf(
__('Ein Plugin installieren, %s? 😊 Gehe zu <strong>Plugins > Neu hinzufügen</strong>, lade die Datei von <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> hoch und aktiviere es. Oder per FTP in <code>/wp-content/plugins/</code>. Tipp: Lies die Doku für Details! Los gehts! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wo finde ich updates'] = sprintf(
__('Updates, %s? 🌟 Im Dashboard-Widget <strong>Verfügbare Updates für WP Multi Toolkit</strong> oder auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Lade die neue Version hoch! Tipp: Sichere deine Seite vor Updates! Bleib frisch! 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie erstelle ich ein support ticket'] = sprintf(
__('Ein Support-Ticket, %s? 😊 Gehe zu <strong>WP-Multi Support</strong>, wähle das Plugin, gib Titel und Beschreibung ein und sende es ab. <a href="%s" class="wpmt-action">Jetzt erstellen</a>. Tipp: Füge Screenshots hinzu! Wir helfen schnell! 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support')
);
$responses['welche voraussetzungen gibt es'] = sprintf(
__('Voraussetzungen, %s? 📋 Mindestens WordPress 6.7.2 und PHP 7.4. Für Telegram/Discord brauchst du API-Keys. Details in der <a href="%s" class="wpmt-action">Dokumentation</a>. Tipp: Prüfe deine Server-Einstellungen! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['sind die plugins kostenlos'] = sprintf(
__('Kostenlos, %s? 😄 Ja, alle WP Multi Plugins sind gratis auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>! Tipp: Spende dem Entwickler einen Kaffee, wenn sie dir gefallen! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
$responses['wie deaktiviere ich ein plugin'] = sprintf(
__('Plugin deaktivieren, %s? 😎 Gehe zu <strong>Plugins > Installierte Plugins</strong>, klicke auf <strong>Deaktivieren</strong> oder <strong>Löschen</strong>. Tipp: Deaktiviere vor Updates, um Konflikte zu vermeiden! Alles klar? 🌟', 'wp-multi-toolkit'),
esc_html($user_name)
);
$responses['wo finde ich die dokumentation'] = sprintf(
__('Dokumentation, %s? 📚 Unter <strong>WP-Multi Support > Dokumentation</strong> findest du Anleitungen und FAQs. <a href="%s" class="wpmt-action">Jetzt ansehen</a>. Tipp: Nutze die Suche in der Doku! Bereit? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wer entwickelt die plugins'] = sprintf(
__('Wer entwickelt sie, %s? 😊 M_Viper, ein WordPress-Fan! Besuche <a href="%s" class="wpmt-action">m-viper.de</a> oder <a href="%s" class="wpmt-action">git.viper.ipv64.net</a>. Tipp: Folge M_Viper für News! Cool, oder? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
'https://m-viper.de',
'https://git.viper.ipv64.net/M_Viper'
);
$responses['kann ich eigene funktionen hinzufügen'] = sprintf(
__('Eigene Funktionen, %s? 🌟 Die Plugins sind Open Source! Schau den Code auf <a href="%s" class="wpmt-action">git.viper.ipv64.net</a> an. Ideen? Erstelle ein Ticket mit <strong>Verbesserung</strong>! Tipp: Teste in einer Staging-Umgebung! Bereit? 😎', 'wp-multi-toolkit'),
esc_html($user_name),
'https://git.viper.ipv64.net/M_Viper'
);
// Neue allgemeine Antworten
$responses['wie richte ich wp multi ein'] = sprintf(
__('WP Multi einrichten, %s? 🚀 Nach der Installation gehe zu <strong>WP-Multi Support</strong> und aktiviere die Plugins. Folge der Anleitung in der <a href="%s" class="wpmt-action">Dokumentation</a>. Tipp: Prüfe, ob deine WordPress-Version aktuell ist! Bereit? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['was ist wordpress'] = sprintf(
__('WordPress, %s? 📝 Ein kostenloses CMS für Websites, Blogs oder Shops ohne Programmierkenntnisse! WP Multi Plugins machen es noch besser. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Neugierig? 😊', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie sichere ich meine website'] = sprintf(
__('Website sichern, %s? 🛡️ Nutze WP Multi Features wie Brute-Force-Schutz und Anti-Spam unter <strong>Sicherheit</strong>. Erstelle Backups (z. B. mit UpdraftPlus) und aktiviere die Rechtsklick-Sperre. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Alles sicher? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie verbessere ich die performance'] = sprintf(
__('Performance boosten, %s? ⚡ Nutze WP Multi Search für schnelle Suchen und Caching-Plugins wie WP Super Cache. Optimiere Bilder und prüfe Ladezeiten unter <strong>Benutzer > Benutzer Analytics</strong>. Mehr in der <a href="%s" class="wpmt-action">Dokumentation</a>. Bereit für Speed? 😎', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs')
);
$responses['wie kontaktiere ich den support'] = sprintf(
__('Support kontaktieren, %s? 😊 Erstelle ein Ticket unter <strong>WP-Multi Support</strong> (<a href="%s" class="wpmt-action">Ticket erstellen</a>) oder besuche <a href="%s" class="wpmt-action">m-viper.de</a>. Tipp: Beschreibe dein Problem genau! Bereit? 🌟', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wp_multi_support'),
'https://m-viper.de'
);
$responses['welche plugins sind kompatibel'] = sprintf(
__('Kompatible Plugins, %s? 🌟 WP Multi Plugins passen zu den meisten WordPress-Plugins, wenn sie die Standards einhalten. Teste in einer Staging-Umgebung. Probleme? Schau in die <a href="%s" class="wpmt-action">Dokumentation</a> oder erstelle ein <a href="%s" class="wpmt-action">Support-Ticket</a>! Alles klar? 😄', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs'),
admin_url('admin.php?page=wp_multi_support')
);
$responses['wie teste ich ein plugin'] = sprintf(
__('Plugin testen, %s? 😊 Installiere es in einer Staging-Umgebung oder lokal. Aktiviere es, teste Funktionen und prüfe Kompatibilität. Probleme? Schau in die <a href="%s" class="wpmt-action">Dokumentation</a> oder kontaktiere den <a href="%s" class="wpmt-action">Support</a>. Tipp: Deaktiviere andere Plugins, um Konflikte zu finden! Bereit? 🚀', 'wp-multi-toolkit'),
esc_html($user_name),
admin_url('admin.php?page=wpmt_docs'),
admin_url('admin.php?page=wp_multi_support')
);
return $responses;
});
/**
* Sicherstellen, dass jQuery geladen wird
*/
function wpmt_enqueue_scripts() {
wp_enqueue_script('jquery');
}
add_action('admin_enqueue_scripts', 'wpmt_enqueue_scripts');
/*
@ -1902,11 +1963,11 @@ add_action('admin_enqueue_scripts', 'wpmt_enqueue_scripts');
add_action('admin_footer', 'wpmt_add_floating_toolbar');
/*
* Update Funktion
*/
define('WPMT_PLUGIN_DIR', plugin_dir_path(__FILE__));
// Textdomain laden
@ -2298,6 +2359,11 @@ function wpmt_update_dashboard_widget_content() {
'file' => 'wp-multi-kategorie/wp-multi-kategorie.php',
'name' => 'WP Multi Kategorie',
'repo' => 'wp-multi-kategorie'
),
'wp-multi-teamcard' => array(
'file' => 'wp-multi-teamcards/wp-multi-team-card.php',
'name' => 'WP Multi Team-Card',
'repo' => 'wp-multi-teamcard'
)
);
@ -2514,24 +2580,22 @@ function wp_multi_toolkit_setup_menu() {
### Function: Get IP Address
function wp_multi_ban_get_ip() {
$banned_options = get_option('wp_multi_ban_options', array('reverse_proxy' => 0));
$ip = '';
if (!empty($banned_options['reverse_proxy']) && intval($banned_options['reverse_proxy']) === 1) {
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR') as $key) {
if (!empty($_SERVER[$key])) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
$ip = trim($ip);
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) {
return esc_attr($ip);
foreach (explode(',', $_SERVER[$key]) as $potential_ip) {
$potential_ip = trim($potential_ip);
if (filter_var($potential_ip, FILTER_VALIDATE_IP)) {
return $potential_ip;
}
}
}
}
} elseif (!empty($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
if (strpos($ip, ',') !== false) {
$ip = explode(',', $ip)[0];
}
return esc_attr($ip);
} elseif (!empty($_SERVER['REMOTE_ADDR']) && filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) {
$ip = explode(',', $_SERVER['REMOTE_ADDR'])[0];
return $ip;
}
return '';