hazudog
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: ユーザーレベルによる分岐popupさん
検証していて返信遅れました。
ご教授いただいたコードにて希望通りに実現できました。
このたびは本当にありがとうございます。フォーラム: 使い方全般
返信が含まれるトピック: ユーザーレベルによる分岐検証をしておりまして遅くなりすみません、ご教授ありがとうございます。
まず構造につきまして先に詳しくお伝えすべきでした、申し訳ありません。
詳しい構造は以下のようになっております。【構造】
カテゴリAとBには、共通の”お知らせ”と”イベント案内”の記事がありまして、
また共通でないそれぞれA、Bで固有に持つ、”お知らせ”と”イベント案内”の記事があります。共通の”お知らせ”の記事は、
http://example.com/all-info/ のカテゴリに属し、
共通の”イベント”の記事は、
http://example.com/all-event/ のカテゴリに属すようにしております。A、Bで固有で持つ”お知らせ”の記事はそれぞれ、
http://example.com/A/info-a/
http://example.com/B/info-b/
のカテゴリに属すようにしております。A、Bで固有で持つ”イベント”の記事は、
http://example.com/A/event-a/
http://example.com/B/event-b/
のカテゴリに属すようにしております。その他に共通のカテゴリとして”会員名簿”、”各種手続き”という項目があり、
それぞれ一枚のページとして存在しています。
http://example.com/memberlist/
http://example.com/formalities/各(http://example.com/A/ 、http://example.com/B/ )のグローバルナビゲーションは、以下を配置することとなっております。
ー お知らせ
ー イベント
ー 会員名簿
ー 各種手続き【解決できないこと】
各投稿にはご教授いただきました通りリファラーを取得する方法にて、
アーカイブページから移動した場合はヘッダーが読み込まれます。
AとBに属さない”会員名簿”や”各種手続き”のヘッダーに記述するコードが見当つきません。自分なりに以下の様に記述しましたが、会員名簿へ遷移してその後、各種手続きに遷移すると希望通りのヘッダーが読み込まれない状況です。
現状の構造では実現が難しいのでしょか。。
度々となりまして、誠に恐縮ですが、ご教授いただきたくお願いいたします。<?php global $user_level; $ref = wp_get_referer(); if (0 == $user_level || 6 == $user_level && strpos($ref, 'A') !== false || 6 == $user_level && strpos($ref, 'info') !== false || 6 == $user_level && strpos($ref, 'event') !== false || 6 == $user_level && strpos($ref, 'memberlist') !== false || 6 == $user_level && strpos($ref, 'formalities') !== false ){ get_header("A"); } elseif (1 == $user_level || 6 == $user_level && strpos($ref, 'A') !== false || 6 == $user_level && strpos($ref, 'info') !== false || 6 == $user_level && strpos($ref, 'event') !== false || 6 == $user_level && strpos($ref, 'memberlist') !== false || 6 == $user_level && strpos($ref, 'formalities') !== false ){ get_header("B"); } ?>
フォーラム: 使い方全般
返信が含まれるトピック: ユーザーレベルによる分岐検証していたら返信遅くなりました、ご教示ありがとうございます。
ご教授いただきましたコードですと、なぜかヘッダーが読み込まれませんでしたので、
以下のコードを埋め込み表示されたのですが、また新たな解決できないことが出てきてしました。。
以下のコードは、親カテゴリがAの時、Aのヘッダーを読み込み、Bのカテゴリの時はBのヘッダーを読み込むようにしました。【解決できないこと】
スーパーユーザのCはAのカテゴリーとCのカテゴリーを行き来できる仕様なのですが、
AとBには共通の記事がありまして、親なしのカテゴリに記事を作成しています。
そこで、共通記事を表示した際、AにはAのヘッダーを読み、BにはBのヘッダーを読みにいくようにしたいのですが、実現できません。
そもそも、現状の構造では間違っているとか無理なのでしょうか?
構造上で変更すべき箇所がありましたらご教授いただきたくお願いいたします。
現状の構造で解決できれば一番いいのですが。<?php $cat_now = get_the_category(); $cat_now = $cat_now[0]; /*親カテゴリーのID取得*/ $parent_id = $cat_now->category_parent; ?> <?php global $current_user; get_currentuserinfo(); if (0 == $user_level || 6 == $user_level && ($parent_id==AのID)) { get_header("A"); } elseif(1 == $user_level || 6 == $user_level && ($parent_id==BのID)) { get_header("B"); } ?>
どうかご教授のほどお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: ユーザーレベルによる分岐お世話になります。
上記の通り自己解決したと書きましたが、見当違いで、解決しておりませんでした。
さらに追加で質問が出てきてしまいましたのでご教授いただきたくお願いいたします。AおよびBはカテゴリーとなりますので、以下のように記述し、
スーパーユーザーのCがそれぞれのディレクトリにアクセスしたときに、
カテゴリAではAのヘッダーが読み込まれ、
カテゴリBではBのヘッダーが読み込まれるようになりました。<?php global $current_user; get_currentuserinfo(); if (0 == $user_level || 6 == $user_level && (is_category( AのページID ) || in_array(AのページID, get_post_ancestors( $post->ID ) ))) { get_header("A"); } elseif (1 == $user_level || 6 == $user_level && (is_category( BのページID ) || in_array(BのページID, get_post_ancestors( $post->ID ) ))) { get_header("B"); } ?>
新たな質問(解決できないこと):
(1)AとBにはそれぞれ記事を持っていて、single.phpに同じく上記のヘッダーを振り分ける分岐コードをいれました。
AおよびBのユーザーでログインして記事を表示させると、ヘッダーは読み込まれるのですが、
スーパーユーザーのCでログインして、記事ページを表示してもヘッダーが読み込まれません。
原因とどのように記述すべきが分かりませんので、ご教授いただけませんでしょうか。フォーラム: 使い方全般
返信が含まれるトピック: ユーザーレベルによる分岐ご教授ありがとうございました。
AとBはカテゴリですので、スーパーユーザー向けのヘッダーを作成して以下のように記述し解決いたしました。
<?php if( $parent_id == AのページID ){?>
<?php wp_nav_menu(array( ‘theme_location’ => ‘globalNavi-A’)); ?>
<?php }else if( $parent_id == BのページID ){?>
<?php wp_nav_menu(array( ‘theme_location’ => ‘globalNavi-B’)); ?>
<?php }else{ ?>
<?php wp_nav_menu(array( ‘theme_location’ => ‘globalNavi-B’)); ?>
<?php } ?>またよろしくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリに属する記事について先ほどの投稿間違っておりました。
失礼いたしました。同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。
と書きましたが、同じ親階層を持っていません。
以下のような構造です。
> 乳製品 > ヨーグルト
> デザート > ヨーグルトパン屑にデザートと表示してほしいところ、乳製品と表示されています。
どうぞ宜しくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリに属する記事についてjim912さん
ご返答大変ありがとうございます。パーマリンクの方は、若い番号が適用される事は分かりましたが、Breadcrumb NavXTの方は未だに解決ができません。
Breadcrumb NavXTにつきまして:
名前順にカテゴリーを取得し、親階層を持つカテゴリーが存在すれば、そちらが優先されるようになっています。
とのことですが、”乳製品”のカテゴリと”デザート”は同階層にあり、
同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。尚現在、意図しないほうカテゴリがパン屑に表示されてしまい改善ができない状態にあります。
なにかのプラグインを使用することや、解決策はありませんでしょうか。
どうぞ宜しくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力<?php $cnt=0; for ($i=30; $i>0; $i--){ if ( get_post_meta($post->ID,'news'.$i.'-date',TRUE) ): ?> <li class="clearfix"><span class="issue"><?php echo get_post_meta($post->ID, 'news'.$i.'-date', true); ?></span> <span class="issue2"> <?php if ( get_post_meta($post->ID,'icon'.$i.'',TRUE) ): ?> <?php echo wp_get_attachment_image(get_post_meta($post->ID,'icon'.$i.'',true)); ?> <?php endif; ?> <?php if ( get_post_meta($post->ID,'news'.$i.'-url',TRUE) ): ?><a href="<?php echo get_post_meta($post->ID, 'news'.$i.'-url', true); ?>"><?php endif; ?><?php echo get_post_meta($post->ID, 'news'.$i.'-ttl', true); $cnt++; ?></a></span></li> <?php endif; if ($cnt==5){ break; } } ?>
として自己解決しました。
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力カスタムフィールドで30件設定できる新着情報に対して、
新着5件のみを取得してフロントページ出力したいのですが、
以下の記述ですとすべてが表示されます。
小さい数字が古い情報で、大きい数字の方が新着になります。array_sliceを使用して、以下を改造すれば、新着5件を取得できそうな事は分かるのですが、記述方法が分かりませんので、ご教授宜しくお願いいたします。
<?php for ($i=30; $i>0; $i--){ if ( get_post_meta($post->ID,'news'.$i.'-date',TRUE) ): ?> <?php echo get_post_meta($post->ID, 'news'.$i.'-date', true); ?> <?php if ( get_post_meta($post->ID,'icon'.$i.'',TRUE) ): ?> <?php echo wp_get_attachment_image(get_post_meta($post->ID,'icon'.$i.'',true)); ?> <?php endif; ?> <?php if ( get_post_meta($post->ID,'news'.$i.'-url',TRUE) ): ?><a href="<?php echo get_post_meta($post->ID, 'news'.$i.'-url', true); ?>"><?php endif; ?><?php echo get_post_meta($post->ID, 'news'.$i.'-ttl', true); ?></a> <?php endif; } ?>
宜しくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力ご教授ありがとうございます。
以下の様に記述し、日付と新着情報が出力されましたが、
出力の仕方が、日付は日付、新着情報は新着情報と出力されます。<?php $date = array(); for ( $i=30; $i>0; $i-- ) { if ( $postmeta = get_post_meta($post->ID, 'news' . $i. '-date', true) ) { $date[] = $postmeta; } } $date = array_slice($date,0,5); foreach( $date as $value ){ echo $value."<br />\n"; // 改行しながら値を表示 } ?> <?php $news = array(); for ( $i=30; $i>0; $i-- ) { if ( $postmeta = get_post_meta($post->ID, 'news' . $i. '-ttl', true) ) { $news[] = $postmeta; } } $news = array_slice($news,0,5); foreach( $news as $value ){ echo $value."<br />\n"; // 改行しながら値を表示 } ?>
出力結果:
10月30日
9月5日
8月22日
7月21日
6月20日新着情報1
新着情報2
新着情報3
新着情報4
新着情報5希望出力結果:
10月30日 新着情報1
9月5日 新着情報2
8月22日 新着情報3
7月21日 新着情報4
6月20日 新着情報5当方WPもPHPも初心者で、希望する出力結果の記述方法が分かりません。
たびたびで恐縮ですが、
どうぞ宜しくお願いいたします。フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力早速のご教授大変ありがとうございます。
以下の様に記述しましたが、出力される文字がおかしい見たいですが、
当方のコードの書き方が間違っていますでしょうか?<?php $news = array(); for ( $i=30; $i>0; $i-- ) { if ( $postmeta = get_post_meta($post->ID, 'news' . $i. '-ttl', true) ) { $news[] = $postmeta; } } $news = array_slice($news,0,5); var_dump($news); ?>
以下が出力結果です。
array(5) { [0]=> string(79) “新着情報” [1]=> string(66) “新着情報2” [2]=> string(48) “新着情報3” [3]=> string(39) “新着情報4” [4]=> string(48) “新着情報5” }たびたびで恐縮ですが、ご教授お願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力言葉足らずで失礼いたしました。
newsの固定ページにはカスタムフィールドで30件の新着情報を顧客側で更新できるようにしておりまして、新着のものは番号大きい数字になります。数字は確定していないのと変動がありそうなので数字は24かもしれませんし、15かもしれません。
そこで新着の5件のみ表示したいということです。<?php echo get_post_meta($post->ID, ‘news1-ttl’, true); ?>
が一番古い情報で
<?php echo get_post_meta($post->ID, ‘news30-ttl’, true); ?>
が新着情報になります。このようなケースではどのように記述すればいいのでしょうか。
当方WPもPHPも初心者です。
どうぞ宜しくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 固定ページのカスタムフィールドの値をフロントページで出力早速のご教授大変ありがとうございます。
newsの固定ページからの取得と出力はできました。関連して、もう一件解決したい事項がありまして、ご教授いただければと思います。
news(固定)ページでは10件の情報があるとして、そのうちの5件のみをフロントページに出力しなければなりません。以下のコードですと10件すべて表示される状態ですので、
新着5件のみ表示するにはどのように記述すべきでしょうか?記事のタイトルを取得するのであれば、showposts=5&などとすればいいのは分かるのですが。。
どうぞ宜しくお願いいたします。
<?php query_posts(‘name=news&post_type=page’); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php echo get_post_meta($post->ID, ‘news10-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news9-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news8-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news7-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news6-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news5-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news4-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news3-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news2-ttl’, true); ?>
<?php echo get_post_meta($post->ID, ‘news1-ttl’, true); ?>
<?php endwhile; endif; ?>フォーラム: 使い方全般
返信が含まれるトピック: 管理画面からカテゴリページに任意の文字を設定お世話になります。
Category Meta Versionのプラグインを使用する事でひとまず解決いたしました。
また宜しくお願いいたします。
フォーラム: 使い方全般
返信が含まれるトピック: 管理画面からカテゴリページに任意の文字を設定