web-dev-qa-db-ja.com

静的フロントページをプログラムでランディングページとして設定する

私は最初のwordpressテーマをunderscores.meスケルトンで作成しようとしています。テーマはビジネステーマを作成したいので、デフォルトのwp投稿ではなく静的フロントページに直接着陸するようにアクティブにしたときです。どのように私はプログラム的にこれを行うことができますそしてこのコードをどこに置くか(例えば、functions.phpファイル)そしてそれを呼び出す場所。私はWPのダッシュボードからこれを変更することができます知っている代わりに私はプログラムでそれをしたいと思いますそしてユーザーがWPのダッシュボードからそれをできるようにホームページとして表示したい場合。

1

あなたはget_option('show_on_front');をターゲットにすることによってそれをすることができます

役立つと思われるコードは次のようになります。

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' );

これはテーマの有効化時にのみ実行されます。ホームページとして設定したいページにpage-nameを変更することを忘れないでください。

これはテストされていませんが、以前に同様のプロジェクトでこれを使用しました

2
Gareth Gillman