it-swarm.com.de

benutzerdefinierten Beitragstyp bearbeiten/veröffentlichen Haken

Welcher Hook wird aufgerufen, wenn ich einen benutzerdefinierten Beitragstyp mit dem Namen "Episodengalerie" bearbeite oder veröffentliche?

Ich habe versucht zu folgen, aber keiner hat funktioniert.

add_action('save_post', 'update_custom_ngg_table');
add_action('update_postmeta', 'update_custom_ngg_table');
add_action('publish_post', 'update_custom_ngg_table');
add_action('edit_post', 'update_custom_ngg_table');
add_action('edit_page', 'update_custom_ngg_table');
add_action('publish_page', 'update_custom_ngg_table');
add_action('save_page', 'update_custom_ngg_table');
add_action('publish_episode-gallery', 'update_custom_ngg_table');

Ich bin dabei aufzugeben :)

2
vick

Sofern ich Ihre Frage nicht falsch verstehe, möchten Sie {$ new_status} _ {my-custom-post-type}

Schauen Sie sich die Hakenregistrierung an.

Diese Seite (aus Pippins Posts)* macht einen besseren Job, als ich es erklären könnte, aber von Ihrem Beispiel würden Sie add_action('publish_episode-gallery', 'update_custom_ngg_table'); wollen

Laut der Quelle sind die folgenden Status verfügbar: Veröffentlichen, Zukünftig, Entwurf, Ausstehend, Privat, Papierkorb, Auto-Entwurf und Erben.

*Im Webarchiv spiegeln

6
Tom Auger

Es ist immer save_post, egal welcher Beitragstyp. save_post wird auch beim Erstellen und Veröffentlichen eines neuen Posts ausgeführt.

In Ihrer Hook-Funktion können Sie herausfinden, welche Art von Post behandelt wird - es wird sowohl die Post-ID als auch das gesamte Post-Objekt übergeben.

function wpsx_5688_update_post($post_id, $post) {

    // Make sure the post obj is present and complete. If not, bail.
    if(!is_object($post) || !isset($post->post_type)) {
        return;
    }

    switch($post->post_type) { // Do different things based on the post type

        case "episode-gallery":
            // Do your episode gallery stuff
            break;

        case "another-post-type-slug":
            // Do other stuff
            break;

        default:
            // Do other stuff

    }

}
add_action('save_post', 'wpsx_5688_update_post', 1, 2);

Eine andere zu berücksichtigende Sache ist, dass - abhängig von Ihrem genauen Problem, ich bin nicht sicher, was Sie versuchen zu tun - es möglicherweise nicht ist, dass der Hook nicht ausgelöst wird, aber dass der Code in Ihrer Hook-Funktion Fehler enthält . Nur noch etwas, um zu überprüfen, ob Sie stecken bleiben.

2
MathSmath

Wenn Sie eine Aktion ausführen möchten, wenn ein benutzerdefinierter Beitrag

add_action('save_post','save_post_callback');
function save_post_callback($post_id){
global $post; 
if ($post->post_type != 'MY_CUSTOM_POST_TYPE_NAME'){
    return;
}
//if you get here then it's your post type so do your things....
}
0
Amritosh pandey