it-swarm.com.de

validieren Sie eine Metabox anhand der ausgewählten Kategorie

Ok Angenommen, ich habe 2 Kategorien. Wenn ein Benutzer die Kategorie A auswählt, muss er die Metabox A und in ähnlicher Weise die Kategorie B die Metabox B ausfüllen. Meine Frage lautet also, ich möchte eine Validierungsprüfung durchführen. Wenn der Benutzer die Kategorie A überprüft hat, ist dies nur der Fall Metabox A, die ausgefüllt wurde, und das Gleiche gilt für Kategorie B. Ich weiß, dass JQuery meine beste Wahl ist - aber ich bin mir nicht sicher, wie ich vorgehen soll oder wie ich die Funktion aufrufen soll, wenn ich auf die Schaltfläche "Veröffentlichen" klicke.

2
schizdazzle

Entschuldigung für die Verzögerung - was ich getan habe, war im Grunde genommen eine .js-Datei erstellt und in meinem Themenordner abgelegt - zum Beispiel themes/nameoftheme/custom/checkcode.js

Dann benutze ich jquery - ich habe meinen Code erstellt - hier ist ein Ausschnitt:

jQuery ('# in-category-6'). click (function () {
jQuery ('# metabox_one'). toggle (this.checked);
jQuery ('# metabox_two'). hide ();
jQuery ('# metabox_three'). hide ();
jQuery ('# in-category-3'). attr ('checked', this.checked);
jQuery ('# in-category-1'). attr ('checked', false);
jQuery ('# in-category-4'). attr ('checked', false);
jQuery ('# in-category-5'). attr ('checked', false);
jQuery ('# in-category-7'). attr ('checked', false);
jQuery ('# in-category-8'). attr ('checked', false);
jQuery ('# in-category-9'). attr ('checked', false)
});

Es scheint ziemlich erklärend zu sein, bezieht sich jedoch auf die im Kategoriefeld ausgewählte Kategorie. attr - bezieht sich auf das Attribut und ist ein Kontrollkästchen - daher aktiviert. Wenn Kategorie 6 ausgewählt ist, werden die durch den Namen definierten Metaboxen entweder ausgeblendet oder nicht.

Danach - wir müssen dies jetzt die Javascript-Datei nennen - und dies erfolgt durch Aufrufen der Datei functions.php Ihres Themas.

hier setzen Sie -

wp_enqueue_script ('myscript', '/wp-content/themes/nameoftheme/custom/checkbox.js');

wp_enqueue_script ist das Bit, das das Skript aufruft, wenn die Seite geladen wird.

Ich hoffe, dass dies für die Menschen klar ist.

1
schizdazzle

Ich habe dieses Plugin gefunden:

http://wordpress.org/extend/plugins/require-post-category/

das hat eine gute Grundlage geliefert und ich werde versuchen, es zu hacken und es von dort zu nehmen.

0
schizdazzle

Jede Metabox hat eine eigene ID.

Wir können ein Änderungsereignis von Kategorie-Kontrollkästchen behandeln. Alles beim Laden ausblenden und dann anzeigen, wenn der Benutzer eine Kategorie festgelegt hat.

0
ilovewordpress