質問: wp_trim_words( get_the_content(), 30, '...' ); // 30字分を抜粋 ?> > name ); ?> pcとスマートフォンで記事の一覧表示を切り替えるコード 参考サイトを参考にfunctions.phpにfunction is_mobile() コードを追加。 トップページのphpに以下を改造。 5, // 表示する記事の数 'category_name' => '投稿id',// 投稿idを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); ・ ・ ・ 3, // 表示する記事の数 'category_name' => '投稿id',// 投稿idを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); ・ ・ ・ 結果は真っ白になってしまいました。 htmlソースも真っ白です。 空白はsublime textのテキストエディターを使っていますので、確認しております。 どこが違うか、教えてくださいますか? よろしくおねがいします。
回答: おそらく、最後のendif;がないせいじゃないかなと思います。 スマホ用のphp パソコン用のphp ifで始まったら、最後はendif;でifを終わらせないとエラーになります。 ただ、単に記事の件数を変えるだけなら、もう少しシンプルなソースにできるかと思います。 $posts_per_page, // 表示する記事の数 'category_name' => '投稿id', // 投稿idを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); // 以下略(改造前のコードとおなじです) ?> こんなふうにすれば、一番上に5行追加するだけで分岐できます。foreach():も一回書くだけでいいので、すごくシンプルです。 なお、phpを編集されるのであれば、wordpressのデバッグモードを有効にすることをおすすめします。 ftpソフトでwordpressがインストールされたディレクトリ(フォルダ)にアクセスすると、《wp-config.php》というファイルが見つかります。このファイルを開くと、76行目あたりに《define('wp_debug', false);》という記述があります。ここの《false》を《true》にして、上書き保存してください。スペルミスなどがあると真っ白になるので、ちゃんと確認してから保存します。 define('wp_debug', true); ここをtrueにすると、何かあったときに画面が真っ白になるのではなく、どこの何行目で書き方を失敗したのか、しっかりとエラーメッセージを表示してくれるようになります。エラーの場所を一目で把握できるようになるため、phpを編集するうえで非常に役立ちます。