NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Post Type Cacher le permalien d'un post type coté admin WordPress
Intermédiaire

---- Cet article a été modifié : 20 février 2021

Post Type : Nous allons dans ce tutoriel mettre en place une fonction qui va nous permettre de cacher le permalien single d’un Post Type. Si par exemple si vous créez un Post Type qui n’aura pas donc de single et donc on voudrait cacher le permalien à notre client.

Voici l’image ….

Cacher le permalien d’un post type coté admin WordPress

Et puis si vous souhaitez optimiser que ces résultats ne soit pas dans les pages Google comme un Post Type qui sert pour un slider ou des données cachées. Il faut bien vérifier que dans vos arguments de la fonction post type que ces paramètres soit (Consulter notre article pour Créer un Post Type) :

public => false,
has_archive => false
publicly_queryable => false

Donc dans notre fonction WordPress, a mettre dans votre functions.php ou dans votre fichier principal de votre plugin, nous allons dire en condition que si on est dans le Post Type en version Admin head, cache en css le permalien comme dans cet exemple.

///////////////////////////////////////////// 
//////// Permalinks display no //////////////
/////////////////////////////////////////////
add_action('admin_head', 'votretheme_permalink_none');
function votretheme_permalink_none() {    
	global $post_type;    
	if ($post_type == 'CPT_NAME_HERE' ) {        
	    echo '<style>#edit-slug-box, #message a {display:none;}</style>';
    } 
	elseif ($post_type == 'CPT_NAME_HERE' ) { 
	    echo '<style>#edit-slug-box, #message a, #post-status-info, #postdivrich {display:none;}</style>';
	} 
}

Vous pouvez ajouter une condition qui dit que toutes les archives et les single de votre Post Type peuvent être redirigés en 301 vers le home. Ça permettra de ne pas référencer des archives ou single. Vous avez la possibilité, si vous ne voulez pas passer par cette fonction, de les interdire dans le sitemap, dans le plugin SEO Yoast.

function votretheme_postype_redirect() {
    global $wp_query;
 
    // redirect from 'slideshow' CPT to home page
    if ( is_archive('CPT_NAME_HERE') || is_singular('CPT_NAME_HERE') ) :
        $url   = get_bloginfo('url');
 
        wp_redirect( esc_url_raw( $url ), 301 );
        exit();
    endif;
}
 
add_action ( 'template_redirect', votretheme_postype_redirect', 1);

NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>