V.J.Catkick
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 月別アーカイブを期間を指定して出力フォーラム: 使い方全般
返信が含まれるトピック: 特定のカテゴリですべての画像を一覧で表示ここまで書けているのであれば、ロジック的には後一歩ぐらいという感じでしょうか。
・WP_Query等でカテゴリのエントリを取得しておいて
・ループを作ってエントリ毎にget_children()等で順番に添付されている取得し配列等に格納
・foreach等で取得した画像のリストを出力とまぁこんな感じになると思います。ただし、エントリの書き方によっては必ずしも画像がエントリに対して「添付」状態にならないケース(例えば他のブログシステム等からインポートした場合や、直接IMGタグを打った場合等)があるので、2番目のループの途中でpreg_match_all()あたりでIMGタグを拾ってやる必要があるかも知れません。
フォーラム: 使い方全般
返信が含まれるトピック: 同じブラウザなのに、パソコンによって表示が違う一番思いつきそうなのはメモリの問題で:
・NECと富士通のパソコンでのメモリ搭載量の違い
・表示が崩れてしまっている方のIEのキャッシュ及びクッキー
・同じく崩れてしまっている方のIEのアドオンされているプラグイン等の個数
このあたりの違いはどうなっているでしょうか?※それと、IEそのもののリソース量とかもありますが、ちょっと計測するのは難しいかも知れません。タスクトレイにアイコンが沢山並んでいるようであれば要注意ですが…。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思った少なくとも、仰っているようなケースはテストケースで山ほどやっているわけで、もし仰っているような問題が発生するようであれば、もっとずっと以前に問題として定義されていると思います。というのも、ちょうど今納品中のサイトが非常に似通った構造になっているというのもあります。テストロジックを組んで100回以上回しても、仰るような症状は出ませんでした。また、過去に納品したサイトでも再調査しましたが、やはり問題は出ていません。
バグかもしれないと言ってしまうのは簡単ですが、仰るようなケースはよくあるケースであり、決してレアなケースではありません。プロ(少なくとも私は数年程度キャリアではありません)に対して「試しましたか?」と嫌疑をかける前に、完璧なコード運びをし、かつどんな条件でも必ず再現するような状況を、確実に伝えられる手段で伝達するべきだと思います。その結果として、もしかしたら特定の条件下において症状が出るかもしれません。ただ現時点でここに書かれた情報を基にした場合は、症状は確認出来ないので、結果的にバグではないという結論に達する訳です。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思ったバグではないですよ。固定ページをトップに置いて、そこに最新を表示するというのは、企業ページで山ほど書いてきており、特に問題になったり表示が出来なかったりしたことはないです(過去のバージョンから最新バージョンまで)。
おそらくはたまたまなにかの条件が重なったか、どこかに小さな見落としがあって上手くいかなかった…ということだと思います。ダミーループで解決したということは、根本的に直った訳ではない、と考えて下さい。原因をきちんと追求しておくと、きっと勉強になると思います。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思ったやりたいことと問題点が伝わってこないです。もう少しわかりやすくお願いします。こちらで想像するには:
[ ヘッダー ]
[ 新着記事タイトル1〜5 ]
[ なんかしろのコンテンツ ]
[ フッターとか ]というページを想像して、この新着記事タイトルの部分が「固定ページをトップに据えた場合、そのトップページに於いて」正しく表示出来ない(どう表示出来ないのかは不明)ということです。
正しい表示というのは、普通に新着エントリから5件のタイトルが表示されている、ということをさしている、と理解しています。
また、最後に出てきたSubmitボタンはどういった動作をさせる為についているものでしょう?
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思った壊れたエントリの方も直して下さいね。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思った>Topページだけうまく表示されません
上手く表示されないというのは、具体的にどう表示されないのでしょう?最初にあったように真っ白なページになってしまうのか、それとも上下は出るが中身がないのか。
固定ページの中でループさせる場合、方法としては先にも挙げた通り:
1)WP_Queryを使うか、get_postsを使う
2)query_postsを使う
の2種類があります。世話役のgatespace氏が仰る通り、可能な限りget_postsを使うのが一般的だと思いますので、それで記述すると例の通り:<?php $args = array( 'posts_per_page' => 5 ); $my_posts = get_posts( $args ); // $posts = とは書かない foreach ( $my_posts as $post ) : setup_postdata( $post ); /* do stuff the_title(), the_permalink() 等使用可 */ endforeach; wp_reset_postdata(); ?>
になる訳で、最も良く使う(例えばサイドバーとかで)記述方法であり、使われている頻度も高いので、もし、ちゃんと動かないのであれば、この部分以外のところがなにか悪さをしている可能性も否定出来ませんね。
動作しないのは(固定ページを指定した)トップページのみ、ということですが、他のページはちゃんと動作している…という部分がひっかかります。他の「固定ページ」でもちゃんと動作しているでしょうか?
また、サイドバーのように、最新5件を書き出すコードだけ別のファイルにして、それを読み込むというのも良いかもしれません。
※コードは「code」ボタンでくくってください。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思ったここんところはちゃんと勉強した方がいいんですが、簡単に言ってしまえばWP_Query()はクエリの新規作成、query_posts()は置き換え…というイメージです(かなり乱暴な言い方ですが)。ですので、コード的には動作するコードですが、論理的には間違ってるということになります。
query_posts(array( 'post_type' => 'post' , 'posts_per_page' => 5, 'offset' => 0 ) );
こうやっておいて、必要記述が終わったところ(大抵の場合はwhileが終わった後か、ページナビゲーションが終わった後)に
wp_reset_query();
を入れてみて下さい。
フォーラム: 使い方全般
返信が含まれるトピック: トップページの新着記事だけ更新されないが、タイプミスをしたと思った画面が真っ白になるということは、phpのコードエラーのことが多いのでチェックしてみて下さい。見た目大丈夫そうでも、phpの中に全角スペースとかがうっかり紛れ込んでしまっている…なんてことはよくあります。
フォーラム: 使い方全般
返信が含まれるトピック: 完全に分けた固定ページの作り方あ、すれ違ってますね。ちょっと整理します。
設問時の状況はこうですね。
1)通常固定ページを作るとindex.phpのテンプレート
2)完全に違うページとしたいためabout.phpを作った
3)about.phpではabout.cssを使いたい
4)about.phpのコンテンツはwordpressのエディタで書きたいだったと思いますので:
1)page.phpを複製してabout.phpと名前を変える
2)1)のファイルの先頭部に<?php /* Template Name: about */ ?>
と書き込む
3)後はCSSを直接書くなり読み込むなりする
4)WordPressのエディタで固定ページを作成し、テンプレートをaboutにする
5)エディタで中身を編集するという流れになると思いますが、どうでしょう?
フォーラム: 使い方全般
返信が含まれるトピック: 完全に分けた固定ページの作り方それは、表示させたいものがテンプレート(about.php)に指示されてない…からです。
例えば固定ページなのであれば、page.phpの複製を作って名前をabout.phpに変更し、通常とは別のスタイルシートを読み込ませるようにする(styleタグを使って先に挙げた例と同じ場所に書く)か、上記の例のように、その場で指定するかすれば、通常とは違った固定ページになります。
フォーラム: 使い方全般
返信が含まれるトピック: 完全に分けた固定ページの作り方その状態で:
1)普通に新規固定ページを作成し題名を適当に「example」とかにする
2)右側のテンプレートのプルダウンから「about」を選択
3)保存すると、「example」の固定ページを表示した時だけ、about.phpをベースにページが作成されます。例えば、上のphpコードの直下に次のように記載し保存、先のexampleのページを開いてみて動作を確認してみて下さい
<style type="text/css" > .sample_class { font-size: 100pt; } </style> <div class="sample_class">わーどぷれす</div>
フォーラム: 使い方全般
返信が含まれるトピック: 特定のカテゴリに属する記事数の表示について引数に
$args = array( .... 'show_count' => 1, .... );
で出ませんか?
フォーラム: 使い方全般
返信が含まれるトピック: 記事一覧を表示させたいんですが・・・実はwp_get_archives()はアーカイブリストは作りますが、実際の中身はないんです。気がついて欲しかったんですが、この関数は単に「リスト作成」のための関数で、例えばメニューとかに並べたい時に使う…というものです(だからエントリのタイトル「しか」でない)。
ですので、日付を並べて、かつ、タイトルを出すというのであれば、get_posts()を使った方がよろしいかと思います。ループの直前で
$posts = get_posts( array( .... ) );
とやっておき
foreach( $posts as $p ) { setup_postdata( $p ); echo $p->post_date; echo '<br />'; echo $p->post_title; echo '<br />'; }
とやれば、ひとつ前の回答と同じ結果が得られると思います。