under
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: WP_Queryでorderbyをrandにした場合、表示済み記事を重複表示させないようにし@nobitaさんアドバイスありがとうございます。正にこういう呼び出しをしたかったのでとても助かります。いただいた方法でランダム抽出出来る事を確認させていただきました。
ただ、自分のphpに関するスキル不足により、カテゴリ絞り込みができなかったり、教えていただいたコードと合体させようとするとphpの中にphpのようになってしまったり、、まだ形にならず頭がパンク中ですが、もう少しやってみようとおもいます。<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args = array( 'cat' => 1, 'posts_per_page' => 10, 'paged' => $paged, 'orderby' => 'desc' ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <div class="<?php echo get_post_meta($post->ID , 'xxxxx' ,true); ?>"> <a href="<?php the_ID(); ?>"> <?php if(has_post_thumbnail()) { echo the_post_thumbnail(); } ?> <?php $terms = get_the_terms( get_the_ID(), 'xxxx' ); if ( !empty($terms) ) : if ( !is_wp_error($terms) ) : ?> <?php foreach( $terms as $term ) : ?> <strong class="<?php echo $term->slug; ?>"><?php echo $term->name; ?></strong><br/> <?php endforeach; endif; endif; ?> <h2> <?php if ( post_custom('xxxxxx') ) : echo get_post_meta($post->ID , 'xxxxxx' ,true); else : the_title(); ?> </h2> </a> </div><!-- /.post --> <?php endwhile; ?> <ul id="pagetop"><li><a href="#top">PAGETOP</a></li></ul> <div class="nav-below" id="nav-belowID"><?php next_posts_link('古い記事へ') ?></div> <?php endif; wp_reset_postdata(); ?>
フォーラム: 使い方全般
返信が含まれるトピック: WP_Queryでorderbyをrandにした場合、表示済み記事を重複表示させないようにしご返信ありがとうございます、自分はTransients APIを使った事が無いので具体的な導入方法がまだわかりませんが、別の使い方で考えるととても可能性のある機能ですね、参考になりました。
フォーラム: 使い方全般
返信が含まれるトピック: 複数タグを持つ記事に適応するテーマを「URLで指定しているタグの値」でレスありがとうございます、教えていただいた方法で実現することができました!
ずっと詰まっていた部分だったのでたすかります。if('A' == $_GET['tag']) { // Aの場合 include(TEMPLATEPATH . '/A.php'); } else { // B or other include(TEMPLATEPATH . '/B.php'); }
もしかしてPHPの初歩だったのでしょうか。
勉強ですね。。。フォーラム: 使い方全般
返信が含まれるトピック: Press This機能で画像を挿入できない新規に2.8を同サーバーの別ディレクトリにインストールしてみたのですがこれでもpress thisで画像を挿入することができませんでした。しかも本文欄に挿入される文字が自動で白くなってしまうように。。
ぱっとみタイトル以外何も挿入されていないようにみえる状態になってしましました。確認環境 xp3 – IE8、Mac OS X 10.5.6 – Safari 4
Coreserverでうごかすことが難しいとかなのですかね。。。
phpをセーフモードで動かしているのとは関係あるのでしょうか?
こちらのサーバーでPress this動作している方いらっしゃいましたら
ご報告いただけると幸いです。フォーラム: 使い方全般
返信が含まれるトピック: Press This機能で画像を挿入できない御返信ありがとうございます。
masaruさんの動作している環境を見る限りどうやら
こちらの環境がなにかおかしくなっているようですね。。2.3から上書きアップグレードしてきた状態なので
一度新規にインストールし直してみようとおもいます。フォーラム: 使い方全般
返信が含まれるトピック: Press This機能で画像を挿入できないちなみに動作検証として
・Win XP SP3 – IE6
・Win XP SP3 – IE7
・Win XP SP3 – IE8
・Mac OS 10.5.6 – Safari 3上記4環境で検証をおこないましたがどれも画像が挿入できないかんじでした。
サーバーはcoreserverを使用しています。逆に問題なく動いている方などいらっしゃいましたら
動作している環境など教えていただきたいです。よろしくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: <!–nextpage–>で挿入されるリンクURLにauthorIDとカテゴリIDを渡したい>>yoshiさん
ありがとうございます
global $author_id, $cat_id; echo "author: $author_id, category: $cat_id";
こちらどのように使うのかいまいち解らなかったのですが、headerに教えていただいたものを記述したところカテゴリ別に表示分けができるようになりました。
ループの外で判別するにはどうすればいいんだろうという疑問がやっと解決です。。正直半分ぐらい理解できないままできたかんじなので改めて
phpの参考書とにらめっこしてみようと思います。どうもありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: <!–nextpage–>で挿入されるリンクURLにauthorIDとカテゴリIDを渡したいご教授いただいた方法色々試してみました。
phpのどこかに下記コードが記述してあれば、ループ内に$author_IDを使うことで
判別に利用できたのですが、ループ外だとうまく呼び出せていないようです。
これはget_the_author_ID()自体がループ内でしか使えないことと関連しているのでしょうか。?<?php $author_id = get_the_author_ID(); $categories = get_the_category(); $cat_id = $categories[0]->term_id; ?>
header.phpなどにも投稿者別に吐き出すデザインを分けて書いてますので
ループ外で使いたいのですがループ外で使えるようにする
カスタムの方法はわからなかったです。。。ご参考までに改変前のソース張らせていただきます。
<?php get_header(); ?> <?php switch ($author) { case "2": echo '投稿者2のヘッドイメージ' ; break; case "3": echo '投稿者3のヘッドイメージ' ; break; case "4": echo '投稿者4のヘッドイメージ' ; break; default: echo 'そのほかの場合のヘッドイメージ'; break; } ?> <?php /* カテゴリが1,2の場合の記事表示 */if (in_category('1')||in_category('2')): ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post() ; ?> <?php the_content(); ?> <?php endwhile; else: ?> no content <?php endif; ?> <?php /* カテゴリが1,2以外の記事場合 */else: ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post() ; ?> <h2 class="<?php switch ($author) { case "2": echo '投稿者2の場合でカテゴリ1,2以外の場合のループ内ヘッドカラー' ; break; case "3": echo '投稿者3の場合でカテゴリ1,2以外の場合のループ内ヘッドカラー' ; break; case "4": echo '投稿者4の場合でカテゴリ1,2以外の場合のループ内ヘッドカラー' ; break; default: echo 'その他のヘッドカラー' ; break; } ?>"><?php the_title(); ?></h2> <?php the_content(); ?> <?php endwhile; else: ?> no content <?php endif; ?> <?php endif; ?>
link_pageで吐き出すURLに各IDを渡すのは難しそうなので、
URLから判別をかけなくても記事デザインを判別できるようにしたいかんじなんですが、、
うーん難しい。。。フォーラム: 使い方全般
返信が含まれるトピック: <!–nextpage–>で挿入されるリンクURLにauthorIDとカテゴリIDを渡したいご返信ありがとうございます。wp_link_pageで吐き出されるURLに値を追加するのにthe_author_ID(),the_category_ID()は使えないんですね。。
この方法でやるのは無理がありそうなので教えていただいた<?php $author_id = get_the_author_ID(); $categories = get_the_category(); $cat_id = $categories[0]->term_id; ?>
を使ってやる方法に挑戦してみようと思います。
フォーラム: 使い方全般
返信が含まれるトピック: <!–nextpage–>で挿入されるリンクURLにauthorIDとカテゴリIDを渡したい>デザインを分けるためだけなら、get_the_author_ID()、get_the_category()で
>投稿者・カテゴリIDを取得するほうが簡単じゃないかと。なるほど、これはurlで各IDを渡さなくても記事データから自動で判別してくれるということでしょうか?
現在1ページ目(single.php)に入る際の判定としてin_categoryとswitchを併用しています。
<?php if (in_category('1')||in_category('2')||in_category('3')||in_category('4')): ?>
のようにin_categoryを使ってカテゴリごとにデザインを分け、その中で
<?php switch ($author) { case "2": echo ~'; break; } ?>
のようにswitchを使って投稿者ごとに表示するタイトルやデザインを細かく分けられるようにしています。
ちなみにphp文のなかにphp文は入らないんだろうなと思って他のコード見ながら
<?php wp_link_pages('before=&after=&author=' . the_author_id() . ' &cat= ' . the_category_id() . ' &next_or_number=next'); ?>
↑こんな感じに書いたら
43<p><a href="http://~/contents/?p=70&page=2">次ページへ</a>
こんなふうにIDはそれぞれ取得できたっぽいんですが、ID数字自体が
リンクの外にテキストの羅列ででてしまってよくわからないことに。。。フォーラム: 使い方全般
返信が含まれるトピック: 挿入する画像のデフォルトサイズを指定したいお返事遅くなって申し訳ないです。
上記ありがとうございます、mp-includes/media.phpの方で指定されているんですね。
バージョンアップを考えるとあまりいじりたくないですね。。。
phpはあまり詳しくないのですが、中サイズはサムネイルとフルサイズの間の幅を
じどうでとっているかんじなのかなスタイルシートとかでサムネイル、中サイズ、フルサイズ最大幅それぞれ
上書き指定する方法などあったりするといいですね。フォーラム: 使い方全般
返信が含まれるトピック: 投稿者(author)別にページデザインを変えるには?ありがとうございます!
教えていただいた方法から少しいじって無事表示の
振り分けができるようになりました。
正直なぜこの構文で振り分けができているのかいまいちわからないんですが、なぜか
<?php switch (get_the_author_ID()) {
だとうまく振り分けができなく(僕の使い方が良くなかったのかもしれません。。)他に投稿者を呼び出せそうなものを一通り試したところ
<?php switch ($author) {
この形でauthor判別を受けるようになりました。
カテゴリの絞り込みも両立しているようです。ちなみにget_the_author_ID()って投稿者ID(数字のID)を返すんですよね。。?
翻訳しながらauthor-template色々眺めたんですが、もしかしたらループ内でしか
使えないのかなと思い$authorで試した感じです。
(ちなみに条件分岐はheader.php内のみでおこなっています)get_the_author_ID()イコール$authorだと認識しているんですが
これは勘違いなのかな。結局使い方がわかっていない自分。。lilyfanさん助かりました〜。:-)
フォーラム: 使い方全般
返信が含まれるトピック: 投稿者(author)別にページデザインを変えるには?in_categoryを使用して
<?php if ( is_author('author1')): ?> <?php if ( in_category('category-a')): ?> author1designheader <?php endif; ?> <?php endif; ?>
のような重複判別は一度ためしたのですが
こちらも両立できないようでした。教えていただいたget_the_author_ID()、恥をさらすようで気が引けますが、、、。
例えば
<?php if ( is_author(get_the_author_ID())): ?> author1designheader <?php elseif ( is_author(get_the_author_ID())): ?> author2designheader <?php else : ?> author3designheader <?php endif; ?>
とか
<?php if ( get_the_author_ID()): ?> author1designheader <?php elseif ( get_the_author_ID()): ?> author2designheader <?php else : ?> author3designheader <?php endif; ?>
とか
<?php if ( get_the_author_ID('author1')): ?> author1designheader <?php elseif ( get_the_author_ID('author2')): ?> author2designheader <?php else : ?> author3designheader <?php endif; ?>
などググりながら色々試してみたんですが、どうもうまく動かなく、、
get_the_author_IDは判別で使うまえに
$author=get_the_author_ID()みたいに定義つけが必要なのでしょうか?AtsushiGTRさん
ありがとうございます。削除されたようですが
瞬間的にリンク先からダウンロードして試させてもらいました。
user themesはアクセスしてきたユーザーに対しての判別のようですね。
惜しかったです。。。フォーラム: 使い方全般
返信が含まれるトピック: 投稿者(author)別にページデザインを変えるには?もう少し検証してみましたので記載させていただきます。
example.com/contents/author1/category-a/
振り分け効かず。example.com/contents/author/author1/
振り分けが効く。
このURLにカテゴリ判別?cat=をつけて
example.com/contents/author/author1/?cat=1
にアクセスすると
example.com/contents/category/category-a/
にリダイレクトがかかる。なぜかauthor情報がURLから抜けてしまう。
このURLに投稿者判別?author=をつけて
example.com/contents/category/category-a/?author=3
にアクセスすると
example.com/contents/author/author1/
にリダイレクトされ、category情報がURLから抜けてしまう。
author判別での表示振り分けは効いているがcategory別に投稿記事を表示できない。「特定の投稿者」が投稿した「特定のカテゴリ」のみを一覧で表示することは
example.com/contents/author1/category-a/
のURLでできているが、その際
is_author()、is_category()判別による表示デザインの振り分け
を両立させることができずデフォルトのデザインの状態で表示されてしまう。is_author判別が効くURL
example.com/contents/author/author1/
example.com/contents/?author=1効かないURL
example.com/contents/?author=1&cat=2
example.com/contents/author1/category-a/どうもカテゴリと投稿者両方の判別を受けた場合、カテゴリ判別しか効いていないようです。
こちら両方受けて表示判別するのは仕様上できないということでしょうかね。。。?フォーラム: 使い方全般
返信が含まれるトピック: 投稿者(author)別にページデザインを変えるには?そうなんですね、
内部処理のところは私には手も足も出ないかと、、。こちらの環境の場合、前述のとおり
example.com//contents/author1/category-a/
は掲載コンテンツ自体は表示されていますが、 is_author()が効かず
デフォルトの表示形式で吐き出されている状況です。パーマリンク設定を変えずに
example.com/contents/?author=3&cat=1
とURLを直接たたくと
最初に
example.com/contents/category/category-a/?author=3
へリダイレクトされ、このURLから
example.com/contents/author/author3/
へリダイレクトされているようです。ちなみに使用しているバージョンはWordpress 2.3.3です。
ご提案いただいた方法で、パーマリンク構造を
example.com/contents/%author%/%category%/%postname%/
からデフォルトに戻して試してみたところ、
おっしゃる通りリダイレクトはまったくしなくなったのですが、・header.php内に記述しているテンプレート側の振り分け判別is_author()の値(半角英字のユーザー名で指定しています)をまったく変えない場合
<?php elseif ( is_author('3')): ?>
・header.php内に記述しているテンプレート側の振り分け判別値指定をid(数字のユーザID)で指定した場合
<?php elseif ( is_author('author1')): ?>
それぞれパーマリンク変更前と変わらず is_author()が効きませんでした。。
デフォルトのパーマリンク設定であれば普通は振り分けが効くものなのでしょうか??
うーんむずかしい。。
SEO的なところも含めパーマリンク構造、できればカスタムで指定したいと考えています。