• 締切済み
  • すぐに回答を!

Wordpressで固定ページを好きな場所に表示

複数の固定ページをトップページに表示させたいと思っております。 下記のコード<index.php>に貼ることで、固定ページを表示させることはできたのですが、少々縦に長いので高さを指定したいです。 <?php $page_id = 100;//ページID $page= get_post($page_id); echo apply_filters('the_content', $page->post_content); ?> 要素でくくってclassを付与し、それをCSSにて高さ指定という方法があるらしいのですが、やり方が分かりませんw どのような形にすれば良いのか、またCSSのどの位置に何を書けば良いのかご教示下さい。 よろしくお願いします。

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

  • 回答数2
  • 閲覧数201
  • ありがとう数2

みんなの回答

  • 回答No.2

ちょっと具体的なソースの状態がわからない(なぜ縦に長くなっているのか)ので簡単な回答になってしまいますが。 <?php $page_id = 100;//ページID $page= get_post($page_id); ?> <div class="class"> <?php echo apply_filters('the_content', $page->post_content); ?></div> //css .class{height:300px;} apply_filters関数をなぜ使っているのかによるかと思います。 ポストを呼び出すのではダメなんでしょうか。

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

質問者からのお礼

ご回答有り難う御座います。 書いて頂いたコードでもダメでした。 「apply_filters関数」は他の方の方法をそのまま持ってきただけですので、他に良い方法があればそちらでも構いません。 「縦に長い」というのは単に固定ページに書かれている内容が多いので、表示は短くしたいと思っております。 <トップページのイメージ> ・縦の長さを指定した固定ページ ・縦の長さを指定した固定ページ ・縦の長さを指定した固定ページ 宜しくお願いします。

関連するQ&A

  • ワードプレス固定ページのページングについて

    初めまして。WordPress・PHPの初心者で大変恐縮ではございますが、 ご質問させていただきます。 この度、固定ページに検索結果を表示し、その検索結果を件数指定し、 ページングを行いたいと考えています。 既にWordPress外では、実装でき正常動作を確認しているのですが、 WordPressの固定ページに組み込むと、2ページ目のリンク設定が 上手く行えておらず、誤動作してしまう状態です。 コードは同一ファイルに 【PHP】 if ($_POST["page"] !== "all") {    //取り出す最大レコード数    $lim = $_POST["page"];    //最初と最後のページ番号を定義    $first = 1;    $last = ceil ($num / $lim);        //表示するページ位置を取得    $p = intval ($temp_p);    if ($p < $first) {      $p = $first;    } elseif ($p > $last) {      $p = $last;    }    //表示するレコード位置を取得    $st = ($p - 1) * $lim;    //前後のページ移動数と表示数    //$page = 10 現在のページの前後10ページへのリンク番号を表示    //$page = 10 現在のページの前後10ページ目に移動    $page = 3;    //前後$pageページ移動した際のページ番号を取得    $prev = $p - $page;    $next = $p + $page;    //前後1ページ移動した際のページ番号を取得    $prev01 = $p - 1;    $next01 = $p + 1;    //$stから$lim件のデータを取得し、並べ替える    $sql .= " ORDER BY hoge LIMIT " . $st . "," . $lim . ";";    //ページ移動リンクの組み立て    //1ページ前のページ    if ($p > 1) {     $pagePrev = "<a href=\"$_SERVER[PHP_SELF]?p=$prev01\"><</a> ";    }    //各ページ番号への移動リンクを表示    for ($cnt = $p - $page; $cnt <= $last; $cnt++) {     if ($cnt < 1) {       $cnt = 1;     }     $pageNo = "<a href=\"$_SERVER[PHP_SELF]?p=$cnt\">$cnt</a> ";     //表示番号を指定数に区切る     //ページ番号と現在のページが同一の場合は     //リンク無しにする     if ($cnt <= $p + $page) {       if ($cnt == $p) {          $pageNo = $p;       }      }    }    //1ページ後のページ    if (($next01 - 1) * $lim < $reccnt) {       $pageNext = "<a href=\"$_SERVER[PHP_SELF]?p=$next01\">></a> ";    }    //最初のページへ移動    if ($p > 1) {       $pageFirst = "<a href=\"$_SERVER[PHP_SELF]?p=$first\">最初</a> ";    }    //前の$pageページへ移動    if ($p > $page) {       echo "<a href=\"$_SERVER[PHP_SELF]?p=$prev\"><<</a> ";    }    //次の$pageページへ移動    if (($next - 1) * $lim < $reccnt) {       echo "<a href=\"$_SERVER[PHP_SELF]?p=$next\">>></a> ";    }    //最後のページへ移動    if ($p < $last) {       $pageLast = "<a href=\"$_SERVER[PHP_SELF]?p=$last\">最後</a> ";    } } 【html】 <?php echo $pageFirst; echo $pagePrev; echo $pageNo; echo $pageNext; echo $pageLast; ?> としており、a href=\"$_SERVER[PHP_SELF]?p=$hoge が上手く行えて いないからだと自分では考えているので、hrefにこのファイルの指定や 私が思い当たる方法では試してみたのですが、やはり解決することはできませんでした。 説明が不十分で大変失礼かと思いますが、どういった原因が考えられるでしょうか? リンク以外の観点からも、アドバイスをいただければと考えております。 お力を貸していただければ大変嬉しく思います。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • [wordpress] 固定ページで、カテゴリ名の

    [wordpress] 固定ページで、記事の一覧を表示し、その記事の属するカテゴリ名の表示 wordpressで、商品一覧ページを作成していて、一覧を表示するページは固定ページにしています。 その商品一覧の中で、記事(商品)の属するカテゴリ名を表示させたいのですが どうすればいいでしょうか? 商品が服なので、その商品が属するカテゴリを項目の一つとして出力したいのです。 つまり『抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出』という感じです。 具体的なソースも教えて頂けると助かります。 <?php the_category(); ?> はダメでした。 [参考ソース] <div id="collectionWrap" class="clearfix"> <?php $loop = new WP_Query( array( 'post_type' => 'collection', 'posts_per_page' => 8 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="collection"> <div class="image"> <a href="<?php the_permalink() ?>"><?php echo wp_get_attachment_image(get_post_meta($post->ID,"画像",true),'medium' ); ?></a> </div> <div class="txt"> <div class="clearfix mb10"> <p class="upDate"><?php echo get_post_meta($post->ID,"性別",true); ?></p> <p class="seasons"> <span> /*ここにカテゴリの種類を出力 */ </span></p> </div> <p class="itemName"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p> <p class="itemPrice">&yen;&nbsp;<?php echo get_post_meta($post->ID,"価格",true); ?></p> </div> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> </div> どうかよろしく御願いします。足りない情報等あればおっしゃってください。 自分でもいろいろ調べてるのですが、わかりません。。急いでます。

    • ベストアンサー
    • PHP
  • WordPressでページスラッグを表示する件について

    散々調べたのですが、見つからない・・・。ので、すいません、助けて下さい。 現在WordPressでカスタマイズを行っているのですが、 ページスラッグを取得して表示するのに、以下のタグを使用しています。 <?php echo get_page_uri($wp_query->post->ID);?> 使い場所は、ページ毎にレイアウトを変更したりしたく、CSSのクラス名などに使用しています。 親ページでは問題ないのですが、子ページになると親ページのスラッグ名も含んだものが表示されてしまい、「親ページのスラッグ名/子ページのスラッグ名」といった具合に、スラッシュが入ってしまうのです。 子ページのみのスラッグ名の表示、もしくはスラッシュを排除したいのですが、 どなたかこの方法がお分かりの方、いらっしゃらないでしょうか。 すみませんが、ヨロシクお願いします。

  • 回答No.1

CSS 入門 こちらで検索したら出てるかと。

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

関連するQ&A

  • wordpressの固定ページの1部のみ変更したい

    Wordpress初心者ですが、 固定ページが、 「トップ」 「業務案内」 「会社概要」 「アクセス」(page_idは25です) とあります。 で、「アクセス」のページだけ、Google Maps のAPIを使って地図上の写真を載せたいと思います。 (Panoramioとかいうサービスを使います) で、page.php(固定ページテンプレート)の中に、 <?php if(is_page('25')): ?>という条件分岐を入れて、 そこに何十行のコード(本に付属しているコード)を挿入しました。 で、正常に動作しているのですが、 本来シンプルなはずの 「page.php」にこのように書くとスパゲッティコードになってしまっていると思います。 通常このようなことをしたい場合、どうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • WordPressのTOPページを固定ページで

    WordPressのTOPページを固定ページで製作しています。 使っているのはWordPress 3.2.1です。 http://sygnas.jp/2010/10/19/frontfix/ こちらのサイトを参考にして 「front_fix.php」を作り <?php /* Template Name: FrontFix */ ?> <?php get_header(); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php endwhile; ?> <?php endif; ?> <?php $my_query = new WP_Query('&cat=0'); ?> <?php if ($my_query->have_posts()) : ?> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> <?php endwhile; ?> <?php endif; ?> <?php get_footer(); ?> と書き込みました。 それから、TOPページ用の固定ページのテンプレートを変更して [設定]>[表示設定]>[フロントページの表示]で「固定ページ」を選び、今回作ったページを選択して保存しました。 今回のサイトはTOPページのみサイドバーはいらないので <?php get_sidebar(); ?> は入れていません。 TOPページを表示させた時、ヘッダーとフッターは表示されるのですが 固定ページの中身も新着記事も表示されていない状態です。 やり方等間違っているのでしょうか? また、その他に良いやり方がありましたら教えていただけませんでしょうか? よろしくお願いします。

    • ベストアンサー
    • 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
  • wordpressのdescription設定

    wordpress、phpの初心者です。 SEO対策のために、descriptionを全ページ、コンテンツに適したもので出力できればと思い、 ・トップページは一般設定の「キャッチフレーズ」 ・カテゴリーページは「カテゴリーの説明文」 ・投稿ページは「カスタムフィールド」 ・それ以外、及びカスタムフィールドが入力されていない投稿ページは「ページタイトル | 一般設定のキャッチフレーズ」 上記の用に出力できるよう、ググって色んなサイトを参考に下記のように記述したのですが、 真っ白になって表示されません。 <?php if (is_home()) { echo '<meta name="description" content="<?php bloginfo('description'); ?>" />'; } elseif (is_category()) { echo '<meta name="description" content="<?php echo category_description(); ?>" />'; } elseif(is_single()){ echo '<meta name="description" content="<?php echo get_post_meta($post->ID,'description',true);?>" />'; } else { echo '<meta name="description" content="<?php wp_title('|', true, 'right'); bloginfo('description'); ?>" />'; }?> プラグインもイマイチ希望のものが見つからず、 何とか試行錯誤しているのですが、未だに解決出来ずにいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Wordpressのpage.phpについて

    初めまして。 既にあるサイトをWordpressに移行しようと考えております。 色々調べ、固定ページ(小さな店のサイトの為ほとんどが固定ページです)は、page.php(もしくはpage.phpを基にしたabout.php等)で設定するという事はわかったのですが。 page.phpの内容は、極端に言えば <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php the_content('<p class="serif">Read the rest of this page &amp;raquo;</p>'); ?> <?php endwhile; endif; ?> だけ書いておき、あとはページ作成の時に、現在あるhtmlタグを貼り付けるだけ という感じで問題ないのでしょうか? (もちろん、画像パスは書き換えるとして) Wordpressに関しては初心者の為わからない事だらけですので、詳しい方ご教授ください。

    • 締切済み
    • PHP
  • WordPressで孫ページ一覧を取得

    下記のコードで子ページ一覧を取得していたのですが、子ページ一覧ではなく孫ページ一覧を取得する必要が出てきました。 <?php $parentId = get_the_ID(); $args = 'posts_per_page=-1&post_type=page&orderby=menu_order&post_parent='.$parentId; query_posts($args); if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="child-box"> <a href="<?php the_permalink(); ?>"><img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" width="190" alt=""></a> <p class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <p>価格:<span class="price"><?php $selling_price = get_field('selling_price'); echo $selling_price."円"; ?></span></p> </div> <?php endwhile;?> <?php wp_reset_query(); ?> <?php else:?> <?php endif;?> 上記のような形で孫ページ一覧を取得する方法をご存知のかた、是非ご教授ください。

    • ベストアンサー
    • PHP
  • WordpressでテンプレにIDを表示できない…

    現在、初めてWordpressのテンプレートを作っています。 そこで、カスタマイズ方法についてお伺いさせてください。 行いたいこととしては、特定のIDの場合、特定の文言を表示というシンプルなカスタマイズです。 対象としているページは単一記事の投稿(single.php)です。 今回仮にカテゴリIDが10を対象としてみます。 その場合、以下のように記述しています。 <?php if(is_category('10')): ?> <p>カテゴリのIDが10のメッセージ!</p> <?php else: ?> <p>それ以外のメッセージ!</p> <?php endif; ?> と記述しています。 ちなみに、デフォルトのテンプレートを使うと上手く表示できるのですが、今回自分で作っているテンプレートなので、それが問題だと思います。 カテゴリID番号をテンプレート側で出力していない為、上手く動作しないのかな?と思いsingle.phpには こんな感じで記述してみました。 <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <?php $post_cat=get_the_category(); $cat_id=$post_cat[0]->cat_ID; ?> <?php $post_cat=get_the_category(); $cat=$post_cat[0]; ?> <div class="entry" id="category-<?php echo $cat->cat_ID ?>"> ↑これでページ上には一応、 <div class="entry" id="category-10">とカテゴリIDが10として表示されています。 しかしながら、前述した<p>カテゴリのIDが10のメッセージ!</p>というメッセージが表示されません…。 カテゴリIDが一致しているのに、何故分岐の処理が行われないのでしょうか?何か根本的に間違っていますでしょうか。 WPのテンプレートカスタマイズにお詳しい方いらっしゃいましたら、アドバイスをいただけませんでしょうか。よろしくお願いします。 再度お伝えいたしますが、デフォルトのテンプレートに <?php if(is_category('10')): ?> <p>カテゴリのIDが10のメッセージ!</p> <?php else: ?> <p>それ以外のメッセージ!</p> <?php endif; ?> こちらを入れると表示されますので、この部分は問題ないのかと思います。 宜しくお願いします。

  • ワードプレス、PHPについての質問です。

    はじめまして、みなさま、どうかお力添え頂けませんでしょうか? 現在、ワードプレスでドロップシッピングサイトを作っているのですが、商品一覧ページに自動で在庫を取得して表示するようにしたく、四苦八苦しております。 現在、いろいろ調べながらあと少しのところくらいまではきているようなのですが、以下のソースを実行しても商品一覧ページの一つ目の在庫状況の取得まではできても2つ目以降がエラーになってしまいます。 やりたいこととしては、カステムテンプレートを使って商品IDを取得し、商品一覧ページに在庫状況を出力させるような形です。 途中に<!--ここから-->と書いてある箇所が対象となります。その他の箇所はCSS部分等をある程度消していますが、ほぼそのままに書いてあります。 <?php while(have_posts()): the_post(); ?> <?php if ( has_post_thumbnail()) : ?>haveThumbnail<?php endif; ?>"> <?php if ( is_user_logged_in() == TRUE ) : edit_post_link('編集', '<span class="edit-link">[ ', ' ]    </span>');endif ?> <a href="<?php the_permalink(); ?>"> <?php $image_fish = wp_get_attachment_image_src( get_post_meta($post->ID, '商品画像をUpload', true),'thumbnail' );?> <img src="<?php echo $image_fish[0]; ?>" width="<?php echo $image_fish[1]; ?>" height="<?php echo $image_fish[2]; ?>"> <a href="<?php the_permalink(); ?>"><?php echo get_post_meta($post->ID, '商品情報', true); ?> <?php echo get_post_meta($post->ID, '価格', true); ?></a></div> </div> <?php    $days = 7; $today = date_i18n('U'); $entry = get_the_modified_date('U'); $kiji = date('U',($today - $entry)) / 86400 ; if( $days > $kiji ){ echo 'new'; } ?> <!--ここから--> <?php function get_content($url){ $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_HEADER, 0); ob_start(); curl_exec ($ch); curl_close ($ch); $string = ob_get_contents(); ob_end_clean(); return $string; } /* * もしもAPIから商品情報XML取得&パース */ $auth_code = "もしもAPI認証コード"; $article_id = get_post_meta($post->ID, 'item_id', true); $url = "http://api.moshimo.com/article/search?authorization_code=" .$auth_code ."&article_id=" .$article_id; $xml = get_content ($url); $data = simplexml_load_string($xml); $article = $data->Articles->Article; $stock_status= $article->StockStatus; $shop_id = $data->Shop->ShopId; if ($stock_status == 0){   //0は在庫切れ echo '在庫切れ'; }else{ ?> <input type="hidden" name="article_id" value="<?=$article_id?>"> <?php } ?> <!--ここまで--> <!-- [ /.entryTxtBox ] --> </div><!-- [ /.infoListBox ] --> <?php endwhile; ?> どこかソースがおかしいとは思うのですが、どこをどう直せば良いかわかりませんでした。 なぜ1回取得しただけで止まってしまうのかわからず、また、エラーとしてはfunctionの箇所を指摘されているようです。 ずーっと考えていたのですが、全く前に進めず、大変お恥ずかしいお話しですが、何卒お力添えいただきたく、何卒宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 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; ?>

    • 締切済み
    • PHP
  • FC2ブログでの固定ページについて

    FC2ブログで固定ページを作成しました。 <!--not_category_area-->&#65374;<!--not_category_area--> <!--not_permanent_area-->&#65374;<!--/not_permanent_area--> で該当箇所を囲むことで、 カテゴリーページや個別記事には表示されないように 出来たのですが、 トップページ最下部の 「次のページへ」で次のページに行くと 固定記事が表示されています。 トップページだけに表示させたい場合、 どのように指定すればよいでしょうか? 以下は私が試みたことです。 調べたところ、 <!--page_area--> &#65374; <!--/page_area--> という変数があることがわかりました。 それで<!--not_page_area--> &#65374; <!--/not_page_area--> で囲ってみるとトップページからも固定記事の表示が消えてしまいました。 そこで <!--index_area--><!--/index_area-->も加えたりしてみましたが、 ダメでした。 以上よろしくお願い致します。