Hallo zusammen,
ich verzweifle gerade an einem bereits bestehenden Plugin, welches sehr schlecht dokumentiert ist.
Auch mit dem bezahlten "Pro"-Support kann man nicht wirklich was anfangen, denn da lautet es immer:
"oh, das erfordert tiefgreifendes Programmieren -> bitte engagiere uns"
Das bestehende Plugin, um das es geht:
Events Manager (wp-events-plugin.com)
Also habe ich beschlossen, daß man das doch einfach erweitern kann :grin:
Wie weit ich schon bin:
- im Backend die Post-Tags Metabox für Nicht-Admins ausblenden -> done, sehr leicht
- im Backend eine neue Metabox anzeigen lassen, in der es nur eine Checkbox gibt -> done, sehr leicht
- auslesen, ob ein bestimmtes Post-Tag bereits gesetzt ist -> done, leicht bis medium, sieht vielleicht ein wenig schräg aus
Was ich gerne lösen würde:
beim Speichern prüfen, ob die Checkbox "gesetzt" ist oder nicht
bei nicht gesetzt -> Check in der DB ob Tag gesetzt; bei ja, löschen, bei nein, alles gut
bei gesetzt -> Check in der DB ob Tag gesetzt; bei nein, append, bei ja, alles gut
So.
Hier der Schnippsel, wie ich mir aus der Datenbank die Tags hole, und überprüfe, ob mein Tag dabei ist:
function my_em_intern_meta_boxes(){
add_meta_box('em-event-intern', 'Interner Termin?', 'my_em_intern_metabox',EM_POST_TYPE_EVENT, 'normal','low');
}
function my_em_intern_metabox(){
global $wpdb, $EM_Event;
$terms = get_the_terms( $post->ID , 'event-tags' );
if($terms) {
foreach( $terms as $term ) {
if ($term->term_id == '42') {
$internertermin = 'true';
break;
}
}
}
?>
<input type="checkbox" id="internertermin" name="internertermin" value="istinternertermin" <?php if ($internertermin == 'true') { echo 'checked="checked"'; } ?> />
<label for="internertermin">ist dieser Termin intern? Aktueller Status: <?php if ($internertermin == 'true') { echo '<span style="color:#00ff00">ist interner Termin</span>'; }?></label>
<br />
<?php
}
Alles anzeigen
Es mag ja sein, daß die Programmierung alles Andere als professionel ist.
Aber ich bin ja auch kein Profi, ich brauche das für unseren Verein, ob ein Termin eben intern ist oder ob er global erscheinen darf :p
Würde mich sehr freuen, wenn mir jemand sagt, wie das Zurückschreiben eines Tags in die Datenbank klappt.