Wordpressのphpについて、タグの出力

このQ&Aのポイント
  • Wordpressのタグページ毎にIDが決まったタグクラウドを出力するためのphpコードを書いています。しかし、何も出力されずに困っています。
  • $tag_orderの値を指定すると出力されることを確認しましたが、条件分岐の部分でうまく動作しないようです。
  • php初心者の私に、どのように修正すればいいか教えていただけませんか?
回答を見る
  • ベストアンサー

Wordpressのphpについて、タグの出力

Wordpressのタグページ毎に決まったIDのタグクラウドを出力しようとしています。 ■tag.phpの文中($tag_orderは適当に作った変数です。) ---ここから--- <?php if(is_tag('hoge1')): ?> <?php $tag_order = "1,2,7,9,12"; ?> (←このIDのタグだけ出力させたい) <?php elseif(is_tag('hoge2)): ?> <?php $tag_order = "3,5,6,10,11,12"; ?> (←このIDのタグだけ出力させたい) <?php elseif(is_tag('hoge3)): ?> <?php $tag_order = "1,3,8,12,15"; ?> (←このIDのタグだけ出力させたい) … <?php endif; ?> … <?php wp_tag_cloud('order=RAND&include=<?php echo $tag_order; ?>'); ?> ---ここまで--- 何も出力されずに困ってます。 <?php echo $tag_order; ?> だけなら出力されるのですが… phpの素人に分かりやすくお教え頂けたら助かります。 よろしくお願いいたします。

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.1

文字列リテラルの中にPHPタグを書いたところでそれは文字列だし、 PHPタグをネストさせることも出来ません。 <?php wp_tag_cloud('order=RAND&include=<?php echo $tag_order; ?>'); ?> ↓ <?php wp_tag_cloud("order=RAND&include={$tag_order}"); ?>

dera123
質問者

お礼

↑で解決しました。 タグのIDを指定していないページを見て 補足コメントを入れてしまいました。 すいません。

dera123
質問者

補足

回答ありがとうございます。 書き換えしてみたのですが、 全部のタグが出力されてしまいます。 また、{$tag_order}だけにしてみましたが、 {$tag_order}の文字がそのまま出力されました。 アドバイス下さい。 よろしくお願いいたします。

関連するQ&A

  • Wordpressのカスタマイズに関する質問です。

    WordPress のカスタマイズに関する質問です。 <? php get_calender(); ?> <? php wp_tag_cloud(); ?> これを埋め込めばcalendarとタグクラウドが表示されるようなのですが。 標準のtwenty ten かeleven のどこのペーのどこに入れれば表示されますか。 よろしくお願いします。

    • 締切済み
    • PHP
  • WordPressのtag.phpのループ回数

    WordPressでタグの一覧ページtag.phpを作成してループを読み込ませたのですが、10記事しか表示されません。ループ部分のコードは以下のとおりです。 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div> <a href="<?php the_permalink();?>" title="<?php the_title_attribute(); ?>"><img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" alt=""></a> <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> </div><!-- /.child-box --> <?php endwhile;?> <?php else:?> <?php endif;?> 該当する記事は40ほどあるのですが、違うタグで試してもやはり10記事しか表示されません。 色々と試したのですが原因がわかりません。ご教授いただけませんでしょうか。

    • ベストアンサー
    • 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でのタグ一覧について2つの質問

    ------------------------------------------------ ●質問1 ------------------------------------------------ 各カテゴリのページで、そのページに属するタグを一覧で表示させています。 現在はタグクラウドを使って一覧を表示させているのですが、下記URLにある形で現在のカテゴリーページに属するタグ一覧を取得する方法はありますか? http://daisukebe.net/get_terms-post_tag/ $this_cat = $cat; get_terms('post_tag', 'include='.$this_cat); を追加してみましたがダメでした。 ※ループ外です ※wpのバージョンは3.8です ------------------------------------------------ ●質問2 ------------------------------------------------ 上記で取得したタグ一覧で、 タグをクリックするとそのタグに関連する記事が一覧で表示されますが、 クリック時のカテゴリページに属する記事のみ取得することは可能ですか? 皆様よろしくお願い致します。

    • 締切済み
    • PHP
  • Wordpressのタグを使ったPHPで著作権表示

    Wordpress でオリジナルテーマを作っています。 footer.php に著作権の年度表示をしようと思い、以下のように記述しました。 <?php $oldest = get_posts( 'numberposts=1&orderby=post_date&order=ASC' ); ?> <?php foreach( $oldest as $post ) : setup_postdata( $post ); endforeach; ?> <?php $oldest = the_date( 'Y' ); $latest = date( 'Y' ); ?> <?php if ( $oldest == $latest ) : echo $latest; else : echo $oldest.'-'.$latest; endif; ?> 最古記事の年を取得し、「最古記事年-最新記事年」というふうに出力します。 最古記事の年が最新記事の年と同じなら最新記事の年のみを出力、というようにしたかったのですが、 2008年や2009年の記事がある場合はちゃんと「2008-2010」と表示されるのですが、2010年の記事しかなかった場合「2010」とのみ表示されるはずが「2010-2010」となってしまいます。 どうか皆さんの知恵をお貸しください。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPで画像を表示するプログラムについて

    実行するとランダムで取得した値を利用して、3パターンくらいの画像を切り替えて表示するPHPファイル を作成したいです! 以下のように書いてみたのですが、如何せん初心者なものでできない原因すらわかりません! 間違っているところを是非指摘していただきたいです。 宜しくお願い致します <?php $rand = rand(1,10); switch($rand){ case 1: echo("1"); break; case 2: echo("2"); break; case 3: echo("3"); break; case 4: echo("4"); break; case 5: echo("5"); break; case 6: echo("6"); break; case 7: echo("7"); break; case 8: echo("8"); break; case 9: echo("9"); break; case 10: echo("10"); break; if ($rand <= 3){ echo"<img src='a.jpg'>"; } elseif ($rand 4< || $rand >6 ) { echo"<img src='b.jpg'>"; elseif ($rand 7< || $rand >10 ) { echo"<img src='c.jpg'>"; } } ?>

    • 締切済み
    • PHP
  • wordpressでwpタグの値を表示しない

    初歩的な質問ですいません。 runPHPというプラグインを使って、 phpを使えるようにしているのですが、 wpタグの<?php the_time() ?>を $date = <?php the_time() ?>のように 変数に入れて扱いたいのですが、 ブラウザに出力されてしまいます。 とりあえず変数に入れたいだけなので、 出力しないようにするにはどうしたらよいでしょうか。 ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • WordPressの各ページにh1を作りたい

    ここ数日、行き詰まっています。どうしても解決ができなく、 ご教示頂けませんでしょうか。 何卒よろしくお願い申し上げます。 現在、WordPressテーマのヘッダーphpに条件分岐でH1をつけようと取り組んでいます。 今できていることは、 ・トップページのh1表示 ・投稿、固定ページにカスタムフィールドにh1を作り、それぞれのページに表示 ・カテゴリー、タグの一覧ページへの表示 ・お知らせの一覧と詳細ページへの表示 できていないこと ・通常の投稿のアーカイブページへの表示 ・製品カテゴリーで設定した名前での一覧ページ(アーカイブ)への表示 となります。 もともとのテンプレートには、製品紹介用のカスタム投稿タイプが用意されていました。 管理画面上のメニューでは、 製品紹介 -新規追加 -製品カテゴリー となっています。 できていないというのは、この製品カテゴリーのところになり、 WordPress Codexの条件分岐タグページを見ながらいろいろ組み替えたり したのですが、どうしてもうまく表示することができないでおります。 ソースは以下のようにしています。 <?php if(is_front_page() && is_home()): ?> <div class="area-h1"> <h1>トップページのh1は表示されています。</h1> </div> <?php elseif(is_category()): ?> <div class="area-h1"> <h1>カテゴリー:<?php single_cat_title(); ?>で表示されています。</h1> </div> <?php elseif(is_tag()): ?> <div class="area-h1"> <h1>タグ:<?php single_tag_title(); ?> で表示されています。</h1> </div> <?php elseif(is_post_type_archive( 'news')): ?> <div class="area-h1"> <h1>お知らせ一覧に表示されています。</h1> </div> <?php elseif(is_singular( 'news')): ?> <div class="area-h1"> <h1><?php the_time('Y'); ?>年<?php the_time('M'); ?><?php the_time('d'); ?>日のお知らせで表示されています。</h1> </div> <?php elseif(is_post_type_archive( 'product')):?> <div class="area-h1"> <h1>商品一覧に表示されました。</h1> </div> <?php elseif(is_singular( 'product')): ?> <div class="area-h1"> <h1><?php echo get_post_meta($post->ID , 'h1' ,true); ?>で商品ページに表示されました。</h1> </div> ※ここから下が分かりません。 <?php elseif(is_archive()): ?> <div class="area-h1"> <h1><?php the_time('Y'); ?>年<?php the_time('M'); ?>の記事一覧、通常投稿のアーカイブページ</h1> </div> ↑ どちらか一方しか有効でない ↓ <?php elseif(is_archive( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1>   </div> <?php endif ; ?> その他に試したもの (1)<?php elseif(is_tax( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1> </div> (2)<?php elseif(is_category( 'product')): ?> <div class="area-h1"> <h1><?php single_cat_title(); ?>製品カテゴリー毎のアーカイブページ?</h1> </div> ここ数日、ずっとできないでおりまして、 おかしなところなどアドバイスを頂けましたら本当に助かります。 何卒よろしくお願い申し上げます。

    • 締切済み
    • PHP
  • wordpressでワーニングが出て解決できません

    Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'comments_allow_only_column' not found or invalid function name in C:\xampp\htdocs\wordpress\wp-includes\plugin.php on line 170 ↓plugin.php の170行目の下記の★★部分でエラーが出ているようなのですが PHPの知識がないためどこが悪いのかわかりません。 フォームを設置した部分あたりから全てのページにエラーがでるようになってしまいました。 環境はローカルに設定しています。 $value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args'])); -------------------- function apply_filters($tag, $value) { global $wp_filter, $merged_filters, $wp_current_filter; $args = array(); // Do 'all' actions first if ( isset($wp_filter['all']) ) { $wp_current_filter[] = $tag; $args = func_get_args(); _wp_call_all_hook($args); } if ( !isset($wp_filter[$tag]) ) { if ( isset($wp_filter['all']) ) array_pop($wp_current_filter); return $value; } if ( !isset($wp_filter['all']) ) $wp_current_filter[] = $tag; // Sort if ( !isset( $merged_filters[ $tag ] ) ) { ksort($wp_filter[$tag]); $merged_filters[ $tag ] = true; } reset( $wp_filter[ $tag ] ); if ( empty($args) ) $args = func_get_args(); do { foreach( (array) current($wp_filter[$tag]) as $the_ ) if ( !is_null($the_['function']) ){ $args[1] = $value; ★★$value = call_user_func_array($the_['function'], array_slice($args, 1, (int) $the_['accepted_args'])); } どの辺を修正すればよいのでしょうか。 宜しくお願い致します。

    • 締切済み
    • PHP
  • PHPにおいて<? PHP ?>の外の出力内容

    PHPにおいて PHPタグ つまり <?php ?> にかこまれた外の箇所ですが<?php ?> の外は、php言語構造のechoやprintといったもので出力されたものと 同等の意味をもつとどこかで読んだ気がします。 どなたか、上記のような内容に準する記述のあるサイトをご存知ありませんか? よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう