From e37fd6278a33ae7524b7d60a154340a8954b261d Mon Sep 17 00:00:00 2001 From: M_Viper Date: Thu, 10 Apr 2025 17:55:05 +0000 Subject: [PATCH] wp-multi-kategorie.php aktualisiert --- wp-multi-kategorie.php | 415 +++++++++++++++++++++++++++-------------- 1 file changed, 275 insertions(+), 140 deletions(-) diff --git a/wp-multi-kategorie.php b/wp-multi-kategorie.php index 21cd501..2e68fc6 100644 --- a/wp-multi-kategorie.php +++ b/wp-multi-kategorie.php @@ -1,140 +1,275 @@ - -
-

WP Multi Kategorie

- -

Wähle Kategorien aus, die du aus bestimmten Bereichen deiner Website ausblenden möchtest.

-
- - - - - - - - - - - - - 0, 'order' => 'ASC')); - $alt = 0; - foreach ($categories as $cat) : - $alt_class = ($alt++ % 2) ? ' class="alternate"' : ''; - ?> - > - - - - - - - - -
KategorieStartseite ausblenden?Feeds ausblenden?Archive ausblenden?Suche ausblenden?
cat_name); ?>cat_ID, $options['exclude_main'])); ?> />cat_ID, $options['exclude_feed'])); ?> />cat_ID, $options['exclude_archives'])); ?> />cat_ID, $options['exclude_search'])); ?> />
-

- -

-
-
- isset($_POST['exclude_main']) ? array_map('intval', $_POST['exclude_main']) : array(), - 'exclude_feed' => isset($_POST['exclude_feed']) ? array_map('intval', $_POST['exclude_feed']) : array(), - 'exclude_archives' => isset($_POST['exclude_archives']) ? array_map('intval', $_POST['exclude_archives']) : array(), - 'exclude_search' => isset($_POST['exclude_search']) ? array_map('intval', $_POST['exclude_search']) : array() - ); - - update_option('wpmkategorie_exclusions', $options); - return '

Einstellungen erfolgreich aktualisiert.

'; -} - -// Optionen abrufen -function wpmkategorie_get_options() { - $defaults = array( - 'exclude_main' => array(), - 'exclude_feed' => array(), - 'exclude_archives' => array(), - 'exclude_search' => array() - ); - - $options = get_option('wpmkategorie_exclusions', $defaults); - if (!is_array($options)) { - $options = $defaults; - update_option('wpmkategorie_exclusions', $options); - } - - return $options; -} - -// Kategorien ausblenden -function wpmkategorie_exclude_categories($query) { - if (!is_admin() && $query->is_main_query()) { - $options = wpmkategorie_get_options(); - - if ($query->is_home() && !empty($options['exclude_main'])) { - $query->set('category__not_in', $options['exclude_main']); - } - if ($query->is_feed() && !empty($options['exclude_feed'])) { - $query->set('category__not_in', $options['exclude_feed']); - } - if ($query->is_archive() && !empty($options['exclude_archives'])) { - $query->set('category__not_in', $options['exclude_archives']); - } - if ($query->is_search() && !empty($options['exclude_search'])) { - $query->set('category__not_in', $options['exclude_search']); - } - } - - return $query; -} - -// Deinstallation -function wpmkategorie_uninstall() { - delete_option('wpmkategorie_exclusions'); -} -register_uninstall_hook(__FILE__, 'wpmkategorie_uninstall'); \ No newline at end of file + +
+

+ + + + +

+
+ + .wrap { + background-color: #f9f9f9; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); + } + + h1 { + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; + font-size: 1.8rem; + color: #333; + margin-bottom: 20px; + } + + .button { + background-color: #0073aa; + color: white; + border: none; + padding: 8px 15px; + border-radius: 5px; + cursor: pointer; + font-size: 14px; + } + + .button-primary { + background-color: #00a0d2; + } + + .button:hover { + background-color: #006e8a; + } + + .widefat th, .widefat td { + padding: 12px; + text-align: center; + font-size: 14px; + border-bottom: 1px solid #ddd; + } + + .widefat tr.alternate { + background-color: #f1f1f1; + } + + .submit { + margin-top: 20px; + } + + .notice-success, .notice-error { + font-size: 16px; + background-color: #e7f9e7; + border: 1px solid #6ecf6e; + padding: 15px; + margin-bottom: 20px; + border-radius: 5px; + } + + .notice-error { + background-color: #fbe9e9; + border-color: #f57c7c; + } + + .wp-multi-kategorie-form input[type="checkbox"] { + width: 18px; + height: 18px; + margin: 0; + } + + /* Banner mit Blauem Hintergrund und Logo zentriert */ + .wp-multi-kategorie-banner { + background-color: #0073aa; /* Blaues Banner */ + color: white; + height: 150px; + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 20px; + } + + .wp-multi-kategorie-banner img { + max-height: 100px; + max-width: 100%; + object-fit: contain; + } + '; +} +add_action('admin_head', 'wpmkategorie_enqueue_styles'); + +// Optionsseite mit modernem Design +function wpmkategorie_options_page() { + if (isset($_POST['wpmkategorie'])) { + check_admin_referer('wpmkategorie_form'); + $message = wpmkategorie_process(); + } + + $options = wpmkategorie_get_options(); + ?> +
+
+ Logo +
+

WP Multi Kategorie

+ +

Wähle Kategorien aus, die du aus bestimmten Bereichen deiner Website ausblenden möchtest.

+
+ + + + + + + + + + + + + 0, 'order' => 'ASC')); + $alt = 0; + foreach ($categories as $cat) : + $alt_class = ($alt++ % 2) ? ' class="alternate"' : ''; + ?> + > + + + + + + + + +
KategorieStartseiteFeedsArchiveSuche
cat_name); ?>cat_ID, $options['exclude_main'])); ?> />cat_ID, $options['exclude_feed'])); ?> />cat_ID, $options['exclude_archives'])); ?> />cat_ID, $options['exclude_search'])); ?> />
+

+ +

+
+
+ isset($_POST['exclude_main']) ? array_map('intval', $_POST['exclude_main']) : array(), + 'exclude_feed' => isset($_POST['exclude_feed']) ? array_map('intval', $_POST['exclude_feed']) : array(), + 'exclude_archives' => isset($_POST['exclude_archives']) ? array_map('intval', $_POST['exclude_archives']) : array(), + 'exclude_search' => isset($_POST['exclude_search']) ? array_map('intval', $_POST['exclude_search']) : array() + ); + + update_option('wpmkategorie_exclusions', $options); + return '

Die Einstellungen wurden erfolgreich gespeichert.

'; +} + +// Optionen abrufen +function wpmkategorie_get_options() { + $defaults = array( + 'exclude_main' => array(), + 'exclude_feed' => array(), + 'exclude_archives' => array(), + 'exclude_search' => array() + ); + + $options = get_option('wpmkategorie_exclusions', $defaults); + if (!is_array($options)) { + $options = $defaults; + update_option('wpmkategorie_exclusions', $options); + } + + return $options; +} + +// Kategorien ausblenden +function wpmkategorie_exclude_categories($query) { + if (!is_admin() && $query->is_main_query()) { + $options = wpmkategorie_get_options(); + + if ($query->is_home() && !empty($options['exclude_main'])) { + $query->set('category__not_in', $options['exclude_main']); + } + if ($query->is_feed() && !empty($options['exclude_feed'])) { + $query->set('category__not_in', $options['exclude_feed']); + } + if ($query->is_archive() && !empty($options['exclude_archives'])) { + $query->set('category__not_in', $options['exclude_archives']); + } + if ($query->is_search() && !empty($options['exclude_search'])) { + $query->set('category__not_in', $options['exclude_search']); + } + } + + return $query; +} + +// Deinstallation +function wpmkategorie_uninstall() { + delete_option('wpmkategorie_exclusions'); +} +register_uninstall_hook(__FILE__, 'wpmkategorie_uninstall');