Ich suche nach einer einfachen function, um automatisch einen bestimmten Tag zu einem Beitrag hinzuzufügen, wenn ein Kontrollkästchen aktiviert ist.
Zum Beispiel: Beim Erstellen eines Posts gibt es ein Kontrollkästchen, das sagt:
“Beispiel-Tag zum Posten hinzufügen”
Wenn Sie es überprüfen, erhält der Beitrag ein “Beispiel” -Tag.
Ich habe das Kontrollkästchen eingerichtet, es ist nur das Hinzufügen des Tags bei der Überprüfung, die mir einige Schwierigkeiten bereitet.
Hier ist die function in meiner Child-Theme-functionsdatei, die das Problem verursacht:
add_action( 'wp_set_object_terms' , 'add_example_tag'); function add_example_tag() { global $post; $example = get_post_meta( $post->ID, '_example', true ); if ( $example ) { wp_set_post_tags('example', true ); } }
Jede Hilfe wird sehr geschätzt.
Prost.
Wenn ich verstehe, was Sie wollen, würde ich es auf dem save_post Hook aufrufen: https://codex.wordpress.org/Plugin_API/Action_Reference/save_post
Also wäre der Code etwas wie:
function wphuyeh8_save_post_tag( $post_id, $post, $update ) { // If example is set and not false if($_REQUEST['_example']): // set the tag wp_set_post_tags( $post_ID, 'example', true ); else: // remove the tag if the checkbox is not checked wp_remove_object_terms( $post_id, 'example', 'post_tag' ); endif; } add_action( 'save_post', 'wphuyeh8_save_post_tag', 10, 3 );
Obwohl dies nicht getestet ist, wird es bei einem zweiten Blick versuchen, das Tag bei jedem Post-Save zu entfernen, es sei denn, es ist aktiviert, so dass Sie vielleicht etwas nach einem Post-Typ oder etwas suchen möchten.