it-swarm.com.de

Jetpack-Plugin (ShareDaddy): Verhindern, dass Share-Schaltflächen auf benutzerdefinierten Beitragstypen angezeigt werden?

Ich habe festgestellt, dass ShareDaddy für Standardposttypen "Show sharing buttons on this post" hat, aber nicht für benutzerdefinierte Posttypen. Ich schätze, ich muss etwas in 'supports' => array('title','editor','thumbnail') hinzufügen. Weiß jemand, was ich hinzufügen muss, damit "Schaltflächen zum Teilen dieses Beitrags anzeigen" für benutzerdefinierte Beitragstypen angezeigt wird?

3
jwp

ShareDaddy verwendet zwei Filter-Hooks, entweder the_content oder the_excerpt. Dies bedeutet, dass Ihre benutzerdefinierte Vorlagendatei für Beitragstypen eine dieser beiden Funktionen verwenden muss: the_content(); oder the_excerpt();.

Aktualisieren

Ok, ich glaube, ich habe die Frage nicht verstanden. Um die Metabox zu Ihrem benutzerdefinierten Beitragstyp hinzuzufügen, fügen Sie Folgendes hinzu:

// Hook things in, late enough so that add_meta_box() is defined and make sure you already registered you post type.
    if (is_admin()){
        add_action( 'admin_init', 'add_plugin_meta_boxes' );
        add_action( 'save_post', 'save_sharing_box' );
    }

// This function tells WP to add the sharing "meta box"
function add_plugin_meta_boxes() {
    add_meta_box( 'sharing_meta', __( 'Sharing', 'sharedaddy' ), 'sharing_meta_box_content', 'CUSTOM POST TYPE NAME', 'advanced', 'high' );

}

function save_sharing_box( $post_id ) {
    if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE )
        return $post_id;

    // Record sharing disable
    if ( 'CUSTOM POST TYPE NAME' == $_POST['post_type'] ) {
        if ( current_user_can( 'edit_post', $post_id ) ) {
            if ( isset( $_POST['sharing_status_hidden'] ) ) {
                if ( !isset( $_POST['enable_post_sharing'] ) )
                    update_post_meta( $post_id, 'sharing_disabled', 1 );
                else
                    delete_post_meta( $post_id, 'sharing_disabled' );
            }
        }
    }

  return $post_id;
}

und CUSTOM POST TYPE NAME in den tatsächlichen benutzerdefinierten Namen des Beitragstyps ändern.

2
Bainternet

Ich weiß, dass dies ein älterer Beitrag ist, aber ich habe diese Seite gefunden, als ich nach einer Antwort gesucht habe, und dann die richtige Antwort an einer anderen Stelle gefunden.

Ich habe 2 benutzerdefinierte Post-Types erstellt und wollte, dass die Share-Buttons in Jetpack angezeigt werden.

Ich dachte, es wäre wahrscheinlich ein Code in der Datei functions.php, da ich dort den Rest der Funktionalität für die Custom Post-Types erhalten habe.

Tatsächlich ging ich einfach zum Menü Einstellungen-> Freigabe. Die benutzerdefinierten Post-Typen waren in der Liste enthalten und alles, was ich tun musste, war, ein Häkchen in jedes Kästchen zu setzen, damit es so funktioniert, wie ich es wollte.

Keine zusätzliche Codierung, nur ein einfaches Häkchen.

5
Mark