Trick # 547 | Dieser Beitrag beinhaltet 454 Wörter. – Geschätzte Lesezeit: ca. 3 Minuten.
Das Erstellen eines klar strukturierten und benutzerfreundlichen WordPress-Blogs ist das A & O. Inhalte sollen den gewünschten Richtlinien entsprechen. Heute schauen wir uns eine einfache, aber effektive Lösung an, die sicherstellt, dass Beiträge immer einer Kategorie, aber auch nicht mehr als einer, zugewiesen sind.
Der hier vorgestellte Code wird bei jedem Speichern eines Beitrags (Posts) ausgeführt und überprüft folgende Punkte:
- Es muss mindestens eine Kategorie ausgewählt sein.
- Es darf nicht mehr als eine Kategorie ausgewählt sein. (optional)
Falls eine dieser Bedingungen nicht erfüllt ist, wird das Speichern des Beitrags blockiert, und eine Fehlermeldung wird angezeigt.
Den Code platzieren Sie in der Datei functions.php – unter Design/Theme-Datei:
// Erfordert eine Kategorie beim Speichern eines Beitrags
function validate_post_category($post_id) {
// Überprüfen, ob es sich um einen "Save"-Vorgang handelt
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
// Überprüfen, ob der Beitragstyp "post" ist
if (get_post_type($post_id) !== 'post') {
return;
}
// Kategorien des Beitrags abrufen
$categories = wp_get_post_categories($post_id);
// Überprüfen, ob eine Kategorie ausgewählt wurde
if (empty($categories)) {
wp_die('Sie müssen eine Kategorie auswählen, bevor Sie diesen Beitrag speichern können.');
}
// Überprüfen, ob mehr als eine Kategorie ausgewählt wurde
if (count($categories) > 1) {
wp_die('Sie können nur eine Kategorie auswählen.');
}
}
add_action('save_post', 'validate_post_category');
Dieser Code verlangt die Zuweisung einer einzigen Beitragskategorie, verhindert aber, dass mehrere Kategorien gesetzt werden. Falls Sie mehr als eine Kategorie festlegen möchten, lassen Sie einfach die Zeilen 20 bis 24 des Codes weg.
Der Code verhindert Fehler, indem er Autorinnen und Autoren direkt beim Speichern informiert, wenn die Kategorie fehlt. Dadurch wird sichergestellt, dass Inhalte konsistent und strukturiert bleiben.
Werbung


