eiowq87mv23kさん、こんにちは。
・ブログ内の投稿記事の本文一覧
の詳しい条件と、「ブログ内の投稿記事」を取得するquery_postsで指定されているパラメータのタグが、投稿タグとしてどのように設定されているか教えてください。
jim912さん投稿ありがとうございます。
始めにすみません。上記ソースは張り間違えでした。
下記になります。
<?php load_template(TEMPLATEPATH . '/heada-lightbox.php'); ?>
<?php get_sidebar(); ?>
<div id="content">
<?php query_posts('pagename=ほげほげ'); ?>
<?php if(have_posts()):
while(have_posts()): the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
</div>
<?php query_posts(post_content='ほげほげ'); ?>
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts($query_string . '&post_type=post&paged='. $paged . '');
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="article">
<?php the_content(); ?>
<!--<p class="spec"><a href="<?php the_permalink(); ?>" class="rm">続きを読む »</a></p>-->
</div>
<?php endwhile; ?>
<?php get_footer(); ?>
・ブログ内の投稿記事の本文一覧
こちらは投稿記事本文に【ほげ】という文字がある記事を
一覧表示させたいと考えています。
>「ブログ内の投稿記事」を取得するquery_postsで
>指定されているパラメータのタグが、投稿タグとして
>どのように設定されているか教えてください。
申し訳ありません。こちらは本文中でした。
どんなページかといいますと
芸術家とその作品を集めたサイトを作っています。
今回の質問は芸術家紹介ページです。
作品は投稿記事で1ずつ作成。
芸術家紹介ページに該当の作品を読み込ませたいという内容でした。
間違いがあり大変失礼いたしました。
もしお心当たりがありましたらご回答のほどお願い申し上げます。
eiowq87mv23kさん
query_posts で post_content というパラメータは無効です。また、クオートすべき箇所がおかしいように思えます。
検索同様に、タイトルと本文から検索したいのであれば、s パラメータを使用してください。
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts( array( 's=ほげ&post_type=post&paged=' . $paged ) );
?>
本文のみに限定する場合は、query_postsでは対応できず、sql文を自分で構成して結果を取得する必要があります。
jim912さん ご回答ありがとうございます。
ご提示いただきましたソースを
テンプレートに組み込んでみましたがエラーが出てしまいました。
再度ソースを書き直してみましたのでまたおかしい部分などありましたら
ご教授願えませんでしょうか?
自分なりの解釈をコメントにて記載しています。
度々お手数をおかけして恐縮ですが宜しくお願いいたします。
<div id="content">
//ループ開始、このテンプレートが適用されたページから情報を取得
<?php if(have_posts()):
while(have_posts()): the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
//ループ終了。
</div>
//新たなループ開始、query_postsにてサイト全体の投稿ページから情報を取得
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts(array('s=ほげ&post_type=post&paged=' . $paged ));//ほげというtagがついた記事を配列で取得
?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>//配列がある限り以下の処理をする
<div class="article">
<?php the_content(); ?>//配列に格納された情報を表示する
<!--<p class="spec"><a href="<?php the_permalink(); ?>" class="rm">続きを読む »</a></p>-->
</div>
<?php endwhile; ?>
ps.
>query_posts で post_content というパラメータは無効です。
>また、クオートすべき箇所がおかしいように思えます。
基礎的な部分が不十分なまま質問してしまい恐縮です。
現在あわせて文法なども勉強しております。
すみません追記です。
上記で出たエラーになります。
サーバー エラー
http:ほげほげ を取得中にウェブサイトでエラーが発生しました。 ウェブサイトがメンテナンスのために停止しているか、正しく設定されていない可能性があります。
eiowq87mv23kさん
パラメータの指定が間違っていました。
query_posts( 's=ほげ&post_type=post&paged=' . $paged );
それから、最後に
<?php endif; ?>
が必要かと思われますが、これは貼り忘れでしょうか
jim912さんありがとうございます。
すみませんまた少しソースを書き直して
何とか表示させることはできました。
しかし検出のところで機能がしておらず現在も調査中です。
ちょっと検出のところを動的にしたいという欲が出てきまして
以下のようにソースを書いてみました。
またお気づきの点などありましたらご教授いただければ幸いです。
<div id=”content”>
//ループ開始、テンプレート適用された固定ページからデータ取得
<?php if(have_posts()):
while(have_posts()): the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
//ループ終了、ここまでの表示は問題なし
//新たなループ開始、サイト全体の投稿記事を検索&表示。
//検索対象の記事は本文中にこのテンプレートが適用された固定ページのタイトルが含まれるもの
<?php
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(array(‘s=$post->post_title&post_type=post&paged=’ . $paged ));
?>
<?php if(have_posts()):
while(have_posts()): the_post(); ?>
<?php the_content(); ?>
<?php endwhile; endif; ?>
//ループ終了。このテンプレートが適用された固定ページのタイトルと
//同じ文言を本文中に含む投稿記事を検出したいのに全ての投稿記事が出力されてしまう。
</div>
<?php get_footer(); ?>
s=$post->post_titleこの書き方は大丈夫でしょうか?
$post->post_titleでこのテンプレートが適用されたtitleを
取得したいと考えていますが間違っていますでしょうか?
度々恐縮ですがアドバイスのほど宜しくお願いいたします。
ps.
<?php endif; ?>がないのがエラーの原因だったと思います。
こちらをつけたら表示されるようになりました。ありがとうございました!
query_posts(array(の部分はarray()を外しますと投稿記事が見つかりませんでした
となります。つけますと表示されるという状況です。
eiowq87mv23kさん
s=$post->post_titleこの書き方は大丈夫でしょうか?
違います。$pagedが一旦クオートで区切ってドットで繋いでいるように、$post->post_titleも
's=' . $post->post_title . '&post_type=post&paged=' . $paged
とする必要があります。
query_posts(array(の部分はarray()を外しますと投稿記事が見つかりませんでした
となります。つけますと表示されるという状況です。
私の呈示したコードに全角スペースが混じっていたためか、ファイルの文字コードが違うことが原因だと思います。arrayで括ったままだとパラメータを無視して、全ての投稿を取得してしまいます。
jim912さん長々とお付き合いいただきまして
本当にありがとうございました!
おかげさまで思ったとおりの動きをさせることができました。
jim912さんのアドバイスがなければ実現できていなかったと思います。
また機会がありましたらアドバイスのほう宜しくお願いいたします。