• 締切済み
  • 困ってます

WordPress 条件分岐間違っている箇所は?

WordPressで最新記事を判別して大きく見せるなど、表示を変更する条件分岐のカスタマイズ方法を下記のURLを参考に改造しました。 https://whitebear-seo.com/wordpress-newpost-conditional-branch/ 結果はエラーが出ました。 どこが間違っているか教えていただけないでしょうか? 宜しくお願いします。 <?php if ( have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <?php endif; /* 改造前 */ while ( have_posts() ) : the_post(); /* 改造前 */ get_template_part( 'template-parts/content', get_post_format() ); /* ページネーション */ endwhile; echo '<div class="text-center paging-navs">'; the_posts_pagination(); echo '</div>'; else : get_template_part( 'template-parts/content', 'none' ); /* ページネーション END */ endif; ?> /* 改造後 */の部分だけ改造しました。 ↓ <?php if ( have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <?php endif; /* 改造後 */ while ( have_posts() ) : the_post(); $counter++; if ($counter <= 1): ? get_template_part( 'template-parts/content2', get_post_format() ); else: /* 改造後 */ get_template_part( 'template-parts/content', get_post_format() ); /* ページネーション */ endwhile; echo '<div class="text-center paging-navs">'; the_posts_pagination(); echo '</div>'; else : get_template_part( 'template-parts/content', 'none' ); /* ページネーション END */ endif; ?>

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数124
  • ありがとう数0

みんなの回答

  • 回答No.1
  • memphis
  • ベストアンサー率40% (970/2388)

>if ($counter <= 1): ? 上の最後を「?」としたのが原因では?

共感・感謝の気持ちを伝えよう!

質問者からの補足

コメントありがとうございます。 「?」を削除しても変わらず「このページは動作していません」とエラーが出ます。

関連するQ&A

  • ワードプレス 最新記事1件だけ大きく表示

    トップページに記事一覧をリストしたものを表示させます。 最新記事1件だけ大きく表示し、以降は普通にしたいです。 検索しましたところ、参考サイトを見つけました。 https://naifix.com/latest-article-new/ これらのプログラム記述が現在使用しているTeemaのプログラムが違っています。 以下が現在使用しているTeemaのプログラム(index.php) get_template_part( 'template-parts/content' 記事一覧リストは「template-parts」フォルダ内にある「content.php」 を使用するといったものです。 最新記事の1件だけ「content2.php」を使用し、以降は「content.php」 を使用するといった記述が分からないのです。 アドバイスをお願いします。 <?php if ( have_posts() ) : if ( is_home() && ! is_front_page() ) : ?> <header> <h1><?php single_post_title(); ?></h1> </header> <?php endif; while ( have_posts() ) : the_post(); get_template_part( 'template-parts/content', get_post_format() ); endif; ?>

    • 締切済み
    • PHP
  • WordPress 条件分岐がうまくいかない

    それぞれの投稿ページのデザインとレイアウトを別々にしたいため、条件分岐によってデザインを変えるようにしたいです。 single.phpをコピペし、以下のように作成。 single-magazine.php(マガジン用) single-photogallery.php(フォトギャラリー用) single-information.php(お知らせ用) single.phpの中身を以下に記述。 <?php if ( in_category('magazine') ) { //マガジン get_template_part( 'single-magazine' , false ); } elseif ( in_category('photogallery') ) { //フォトギャラリー get_template_part( 'single-photogallery' , false ); } elseif ( in_category('information') ) { //お知らせ &#160;get_template_part( 'single-information' , false ); }else { //それ以外の場合 get_template_part( 'single-normal' , 'normal'); } ?> 結果はマガジンとフォトギャラリーは表示できましたが、お知らせだけ表示せず真っ白のままです。 HTMLソースも空っぽでした。 上記のコードに間違いがありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【PHP】index.phpの実行エラー

    themeという関数エラーと思いますが、どのようにしたらindex.phpを正常に実行できるでしょうか。 この(ダミー?)関数の意味と、宣言はどうすればよいでしょうか。 今日初めてPHPを触り、何もわからず恐縮です。よろしくお願いします。 状況: 1)WinXPに、PHP phpdevで、Apache/PHP(Version 4.2.3)/MySQLをインストール。 2)Apache、PHP、MySQLはRun状態。 3)以下のソースのindex.phpを C:\phpdev\www\MagPress というフォルダに配置 4)http://localhost/MagPress を実行すると、以下のエラーが出る。 Fatal error: Call to undefined function: get_header() in c:\phpdev\www\magpress\index.php on line 1 index.phpのソース: ------------------------------------ <?php global $theme; get_header(); ?> <div id="main"> <?php $theme->hook('main_before'); ?> <div id="content"> <?php $theme->hook('content_before'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); /** * The default post formatting from the post.php template file will be used. * If you want to customize the post formatting for your homepage: * * - Create a new file: post-homepage.php * - Copy/Paste the content of post.php to post-homepage.php * - Edit and customize the post-homepage.php file for your needs. * * Learn more about the get_template_part() function: http://codex.wordpress.org/Function_Reference/get_template_part */ get_template_part('post', 'homepage'); endwhile; else : get_template_part('post', 'noresults'); endif; get_template_part('navigation'); ?> <?php $theme->hook('content_after'); ?> </div><!-- #content --> <?php get_sidebars(); ?> <?php $theme->hook('main_after'); ?> </div><!-- #main --> <?php get_footer(); ?>

  • wordpressの投稿記事が日付順に並ばない

    初めまして。wordpressについてお聞きしたいのですが、 どなたか詳しい方、教えて頂けないでしょうか。 カスタム投稿で作った記事のタイトルと日付を抽出して、新着情報一覧を作りました。 この投稿記事を、新着順にソートして並べたいのですが、不具合がでて困っています。 普段はwordpressのデフォルトの設定通り、最新の日付順に表示されているのですが、 たまに、古い記事の下に新着記事が表示されてしまうのです。 例えば8/1に投稿した記事の下に、最新の8/12の投稿が 表示されてしまいます。 プラグインは 「Post Types Order」と「postMash」を入れています。 このプラグインの不具合でおかしくなることはあるのでしょうか。 【ソース】 <?php query_posts('post_type=news&posts_per_page=6'); ?> <?php if(have_posts()): while(have_posts()): the_post(); ?> <?php get_template_part('content','title'); ?> <?php endwhile; endif; ?> 【仕様】 WordPress 2.9. PHP 5.2.17 データベース バージョン: MySQL 5.5 どうぞよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • WordPress PCとスマホで表示を切り替える

    PCでは記事一覧5件、スマホでは3件表示するようにしたいです。 条件分岐タグを使って、PCとスマートフォンで記事の一覧表示を切り替える方法がうまくいきませんでした。 https://handywebdesign.net/2017/11/wp-is-mobile/ 改造前のコード(問題なく表示できました) <ul> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post ); if( has_post_thumbnail() ) { $post_thumb = get_the_post_thumbnail( '', 'post_thumbnail' ); // アイキャッチがあるときはアイキャッチを表示 } else { $post_thumb = '<img src="' . get_template_directory_uri() . '/img/noimage.gif" width="100" height="100" alt="デフォルト画像" />'; // アイキャッチがないときは《noimage.gif》を表示 } $post_categories = get_the_category(); // カテゴリーを取得 $post_content = wp_trim_words( get_the_content(), 30, '…' ); // 30字分を抜粋 ?> <li <?php post_class(); ?>> <a href="<?php the_permalink(); ?>"> <div class="blogListimg"> <?php echo wp_kses_post( $post_thumb ); ?> </div> <!-- アイキャッチここまで --> <p class="post-time blogDt"><?php the_time('Y.m.d'); ?></p> <p class="post-categories blogCt"><?php echo esc_html( $post_categories[0]->name ); ?></p> <h3 class="post-title"><?php the_title(); ?></h3> <p class="post-content blogBf"><?php echo esc_html( $post_content ); ?></p> </a> </li> <?php endforeach; wp_reset_postdata(); ?> </ul> PCとスマートフォンで記事の一覧表示を切り替えるコード 参考サイトを参考にfunctions.phpにfunction is_mobile() コードを追加。 トップページのphpに以下を改造。 <?php if ( is_mobile() ) : ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 5, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php else: ?> <?php $latest_posts = get_posts( array( 'posts_per_page' => 3, // 表示する記事の数 'category_name' => '投稿ID',// 投稿IDを取得 'fields' => 'ids', ) ); foreach( $latest_posts as $post ): setup_postdata( $post );  ・  ・  ・ <?php endforeach; wp_reset_postdata(); ?> </ul> 結果は真っ白になってしまいました。 HTMLソースも真っ白です。 空白はSublime Textのテキストエディターを使っていますので、確認しております。 どこが違うか、教えてくださいますか? よろしくおねがいします。

    • ベストアンサー
    • PHP
  • 「WordPress3サイト構築スタイルブック」

    chapter2の「business」を参考にサイトを作成しました。トップページの1箇所だけうまくいきません。http://wordpresstest.girako.com/ 検索したら、同じテキストを参考にして作成したサイトがあってそちらは正しく表示されていました。http://www.sys-f.com/wordpress2/ これは、トップページの下の文章の部分は、messageという固定ページで、表示してあります。 <div id="content"> <?php if(is_home()): ?> <?php query_posts('pagename=message'); ?> <?php if(have_posts()): while(have_posts()): the_post(); ?> <?php the_content(); ?> <?php endwhile; endif; ?> <?php else: ?> <?php if(have_posts()): while(have_posts()): the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_content(); ?> <?php endwhile; endif; ?> <?php endif; ?> 以上はわたしのサイトの方のindex.phpの一部です。firebugでhtmlを見るようには参考にできないので、何が間違っているのか困っています。参考のファイルがテキストにはついていて、そのファイルと全く同じソースなのに、同じことが実現できないのです。一番早いのは、このテキストを持っている人だと話がわかりやすいのだと思いますが、どこからどこまで説明すればよいのかわからないので、不足部分があればご指摘ください。 これをきっかけにWPを克服しようとしているのに早速テキスト通りに行かず、困っているので教えてください。

    • 締切済み
    • PHP
  • WordPressにおいて、サブカテゴリーに画像を表示させる。

    WordPressにおいて、サブカテゴリーに画像を表示させる。 WordPress,PHP初心者です。 現在 情報サイトを作っているのですが、 あるカテゴリーのループ中に、サブカテゴリーにも属していると、画像を表示させたいです。 ショッピングサイト等で例を言うと 「シャツ」という大カテゴリーをループを使って一覧で出力し、 その中で、サブカテゴリー「売り切れ」や「NEW」にチェックを入れていると(管理画面で) それに適した画像が表示されるようにしたいのです。 ”「売り切れ」と「NEW」にどちらも属している場合もあります” なおかつ、そのサブカテゴリーにチェックが入っていると 上位に表示されると一層良いのですが。 ループの中で、更にループ処理?という考えがあまり正しくないような気がするのですが、 試している所やはりうまくいきません。 ソースは下記の通りです。 <!--大カテゴリーのループ開始--> <?php query_posts("cat=3&showposts=10"); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="list-box"> <a href="<?php the_permalink() ?>"> <img src="<?php echo get_post_meta($post->ID,'faceimage',TRUE); ?>" alt="<?php the_title(); ?>" width="141" height="141" /> </a> <p class="name"><?php the_title(); ?></p> <p class="size"><?php echo get_post_meta($post->ID,'textfield',TRUE); ?></p> <!--売り切れの場合、画像表示--> <?php query_posts("cat=4"); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="ico-on"><img src="hogehoge" alt="売り切れ" /></div> <?php endwhile; ?> <?php endif; ?> <!--新着アイテムの場合、画像表示--> <?php query_posts("cat=6"); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="ico-new"><img src="hogehoge2" alt="新着アイテム" /></div> <?php endwhile; ?> <?php endif; ?> </div> <!--ループ完全に終了--> <?php endwhile; ?> <?php endif; ?> 調べてみたものの、行き詰まっています。 稚拙な質問ではございますが、 どうぞご教授お願い致します。

  • Wordpressで特定カテゴリーの一覧ページ

    今特定のカテゴリーの一覧ページを作りたいのですがうまく作れません。 http://snapkidz.biz/wp/?cat=4(現状) 本当はhttp://blackartcard.com/?cat=4のような感じで作りたいんですがうまくいきません。 二つとも自分のサイトなのですが、http://blackartcard.com/?cat=4の方はテンプレートをいじって作ったので、うまくいっただけです。 アーカイブ.phpを同じ物をsnapkidz.bizにいれたのですがレイアウトがヘッダー部分に表示されるようになってしました。 アーカイブの中身は以下です。 <?php /** * @package WordPress * @subpackage Modularity */ ?> <?php get_header();?> <div> <?php query_posts($query_string.'&posts_per_page=2'); if (have_posts()) : ?> <?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?> <div class="clear"></div> <div class="content"> <?php while (have_posts()) : the_post(); ?> <div class="archive-top"> <?php the_post_thumbnail('full'); ?> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php printf( esc_attr__( 'Permalink to %s', 'modularity' ), the_title_attribute( 'echo=0' ) ); ?>"><?php the_title() ?></a></h2> <div class="clear"></div> <p class="postmetadata alt quiet"> <?php $tag_list = get_the_tag_list( '| Tags: ', ', ' ); printf( __( '%1$s | Categories: %2$s %3$s | ', 'modularity' ), get_the_time( get_option( 'date_format' ) ), get_the_category_list( ', ' ), $tag_list ); ?> </p> <hr /> </div> <?php endwhile; ?> <div class="clear"></div> <div class="navigation"> <div class="alignleft"><?php next_posts_link( __( '&laquo; 前の記事', 'modularity' ) ); ?></div> <div class="alignright"><?php previous_posts_link( __( '次の記事 &raquo;', 'modularity' ) ) ?></div> </div> <div class="clear"></div> <?php else : ?> <h2 class="center"><?php _e( 'Not Found', 'modularity' ); ?></h2> <?php get_search_form(); ?> <?php endif; ?> </div> </div> </div> <!-- Begin Footer --> <?php get_footer(); ?> どうすればヘッダー下にうまく表示できるでしょうか?? 宜しくお願い致します。

    • 締切済み
    • CSS
  • wordpressで特定の記事の本文だけを取り出す記述

    wordpressで特定の記事の本文だけを取り出す記述 超初心者です。 下記のようなwordpressの関数を使ったPHP文で「特定の記事の本文」のみを取り出したく いろんなwordpressのサンプルなどを参考にして作ってみました。 結果はまあ思い通りには出るのですが、 これって1つの記事を取り出すだけならスマートじゃないですよね・・・。 <?php query_posts('p=277'); ?> <?php if(have_posts()):while(have_posts()):the_post(); ?> <div><?php the_content(); ?></div> <?php endwhile;endif; ?> いまいちwhileなどのループなどがわかってないのですが、 よく考えれば1つの記事を抜き出すのにループを記述する必要があるのか? いろいろ試してみたのですが、エラーが頻出して挫折。 どうすればいいのかがわかんなくて質問させていただきました。 熟練された方はどういう記述にするのか参考にさせていただきたいです。

    • ベストアンサー
    • PHP
  • DreamweaverとWordPressの連携

    Xamppを使用してローカルサーバーにWordpressをインストールしました。 DreamweaverとWordpressを連携させてサイト作りをしようと思っています。 ソシム社の「WordPressレッスンブック」という本を読みながら勉強をしているのですが、Dreamweaver(CS5)上からファイルのパーミッションの変更ができません。 何度試みて更新してみてもパーミッションは0のままです。 FFFTPソフトを使わないと出来ないのでしょうか? またFFFTPソフトからホストに接続しようとすると、Xamppに適したユーザー名やパスワードが見つからず接続できません。 xamppディレクトリ制御、Mysql、ベーシック認証のいずれのパスワードを入力しても接続できません。 こちらのサイトも参考にしましたが分かりませんでした。(http://d.hatena.ne.jp/k3akinori/20100118/1263780463) wp-includesの中にあるindex.phpをdreamweaverのライブビューで見るところまでは成功しましたが、「WordPressレッスンブック」のやり方で作ったindex.phpは全く反映されず真っ白なままです。 index.phpとcssどちらも本に付属していたCDから正式なソースを抜き取って記述してみましたが、全く変わりません。 Wordpressの本サーバーで同じ事を試みるとほぼ問題はありませんが、効率化を図るためにローカルサーバーでサイト作りを試みたいと思っております。 ヒントでもよいので、何か教えていただければ幸いです。 index.php記述(「WordPressレッスンブック付属CDの記述)」 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>;charset=<?php bloginfo ('charset'); ?>" /> <title><?php bloginfo('name'); ?><?php wp_title(); ?></title> <link rel="stylesheet" href="<?php bloginfo ('stylesheet_url'); ?>" type="text/css" /> </head> <body> <!-- コンテナ --> <div id="container"> <!-- ヘッダー --> <div id="header"> <h1><a href="<?php echo home_url(); ?>"> <?php bloginfo('name'); ?></a></h1> <p id="desc"><?php bloginfo('description'); ?></p> <p id="image"><img src="<?php bloginfo('template_url'); ?>/header.jpg" alt="*" width="760" height="200" /></p> </div> <!-- コンテンツ --> <div id="content"> <?php if(have_posts()): while(have_posts()): the_post(); ?> <div class="post"> <h2><a href="<?php the_permalink(); ?>"> <?php the_title(); ?></a></h2> <?php the_content(); ?> <p class="postinfo"> <?php echo get_the_date(); ?> <?php the_time(); ?> | カテゴリー:<?php the_category(', '); ?> </p> </div> <?php if(is_single()): ?> <p class="pagelink"> <span class="oldpage"><?php previous_post_link(); ?></span> <span class="newpage"><?php next_post_link(); ?> </span> </p> <?php endif; ?> <?php endwhile; endif; ?> <?php if(is_home()): ?> <p class="pagelink"> <span class="oldpage"><?php next_posts_link('&laquo; 古い記事'); ?></span> <span class="newpage"><?php previous_posts_link('新しい記事 &raquo;'); ?></span> </p> <?php endif; ?> </div> <!-- フッター --> <div id="footer"> <address>Copyright &copy; <a href="mailto:<?php bloginfo('admin_email'); ?>">Hidamari Diary</a>, All rights reserved.</address> </div> </div> </body> </html> style.cssもコピー&ペーストして「Wordpressレッスンブック」と同じ記述になっています。