web-dev-qa-db-fra.com

Comment utiliser un index d'archivage de catégorie spécifique comme page d'accueil du site?

J'ai étudié la hiérarchie de Wordpress et créé un fichier php nommé category-image-gallery.php dont le lien est http://www.phoneographer.org/category/image-gallery/ après l'avoir chargé et ajouté à mon menu personnalisé. J'aimerais définir cette page comme page d'accueil, mais elle n'est pas répertoriée en tant que page dans l'écran des paramètres de lecture (car ce n'est pas une page statique, je suppose), donc je ne peux pas la sélectionner. Est-il possible de définir cette "page" php (je suppose que la page n'est pas strictement le terme correct) comme ma page d'accueil?

Merci beaucoup.

Sauter.

5
Skip

Créez un fichier front-page.php avec le contenu suivant:

locate_template( 'category-image-gallery.php', TRUE, TRUE );

C'est tout.

Pour le functions.php du thème

Si vous souhaitez limiter le contenu de la page d'accueil aux publications de cette catégorie, filtrez la requête de la page d'accueil:

add_action( 'pre_get_posts', 'wpse_74225_frontpage_categories' );

function wpse_74225_frontpage_categories( $query ) 
{
    if ( $query->is_main_query() && is_front_page() ) 
    {
        $query->set( 'category_name', 'image-gallery' );
    }

    return $query;
}

Mais cela créerait une copie de votre archive de catégorie: dupliquer le contenu, ce n’est pas une bonne idée si vous voulez que les deux pages soient trouvées dans les moteurs de recherche.

Pour éviter les liens vers cette archive de catégorie, vous devez également filtrer 'term_link':

add_filter( 'term_link', 'wpse_74225_category_link', 10, 2 );

function wpse_74225_category_link( $link, $term )
{
    if ( 'image-gallery' === $term->slug )
        return home_url();

    return $link;
}
3
fuxia