web-dev-qa-db-fra.com

Définir une page de garde statique en tant que page d'arrivée par programme

Je suis en train de créer mon premier thème wordpress avec underscores.me squelette, le thème que je souhaite créer est un thème professionnel. Ainsi, lorsque mon thème est activé, il se pose directement sur une page de couverture statique au lieu des publications par défaut de wp. Comment pourrais-je faire cela par programme et où mettre ce code (par exemple, dans le fichier functions.php) et où l'appeler. Je sais que je pourrais changer cela à partir du tableau de bord wp, mais je voudrais plutôt le faire par programme et si un utilisateur souhaite afficher le message wp en tant que page d'accueil pour pouvoir le faire à partir du tableau de bord wp.

1
Vasileios Tsakalis

Vous pouvez le faire en ciblant get_option('show_on_front');

un code qui pourrait aider serait:

function themename_after_setup_theme() {
 $site_type = get_option('show_on_front');
 if($site_type == 'posts') {
  update_option( 'show_on_front', 'page' );
  update_option( 'page_for_posts', 'page-name' );
 }
}
add_action( 'after_setup_theme', 'themename_after_setup_theme' );

Cela fonctionnera uniquement avec l'activation du thème, n'oubliez pas de changer le nom de la page en la page que vous souhaitez définir comme page d'accueil.

Ceci n’a pas été testé mais l’avait déjà utilisé sur un projet similaire

2
Gareth Gillman