web-dev-qa-db-fra.com

Jetpack plugin (ShareDaddy): Empêcher les boutons de partage de s'afficher sur des types de publication personnalisés?

J'ai remarqué que ShareDaddy a "Afficher les boutons de partage sur ce message" pour les types de publication par défaut, mais pas pour les types de publication personnalisés. Je suppose que je dois ajouter quelque chose dans 'supports' => array('title','editor','thumbnail'). Quelqu'un sait-il ce que je dois ajouter pour que "Afficher les boutons de partage de ce message" s'affiche pour les types de message personnalisés?

3
jwp

ShareDaddy utilise deux crochets de filtre the_content ou the_excerpt, ce qui signifie que votre fichier de modèle de thème de type publication personnalisé doit utiliser l’une de ces deux fonctions the_content(); ou the_excerpt();.

Mettre à jour

Ok je suppose que je n'ai pas eu la question. Donc, pour ajouter le metabox à votre type de message personnalisé, ajoutez ceci:

// 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;
}

et remplacez CUSTOM POST TYPE NAME par votre nom de type de message personnalisé actuel.

2
Bainternet

Je sais que c’est un article plus ancien, mais j’ai trouvé ce site lorsque je cherchais une réponse, puis j’ai trouvé la vraie réponse ailleurs, alors j’ai pensé que je le partagerais avec quiconque ayant un problème similaire.

J'ai créé 2 types de publication personnalisés et je souhaitais que les boutons Partager de Jetpack apparaissent.

Je pensais que ce serait probablement un code dans le fichier functions.php, car c’est là que j’ai eu le reste de la fonctionnalité pour les post-types personnalisés.

En fait, je suis simplement allé dans le menu Paramètres-> Partage. Les post-types personnalisés étaient présents dans la liste et tout ce que j'avais à faire était de cocher chaque case pour que tout se passe bien.

Pas de codage supplémentaire, juste une simple coche.

5
Mark