フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全20件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: ユーザーレベルによる分岐
    トピック投稿者 hazudog

    (@hazudog)

    popupさん

    検証していて返信遅れました。
    ご教授いただいたコードにて希望通りに実現できました。
    このたびは本当にありがとうございます。

    フォーラム: 使い方全般
    返信が含まれるトピック: ユーザーレベルによる分岐
    トピック投稿者 hazudog

    (@hazudog)

    検証をしておりまして遅くなりすみません、ご教授ありがとうございます。
    まず構造につきまして先に詳しくお伝えすべきでした、申し訳ありません。
    詳しい構造は以下のようになっております。

    【構造】
    カテゴリ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");
    	}
    ?>
    フォーラム: 使い方全般
    返信が含まれるトピック: ユーザーレベルによる分岐
    トピック投稿者 hazudog

    (@hazudog)

    検証していたら返信遅くなりました、ご教示ありがとうございます。
    ご教授いただきましたコードですと、なぜかヘッダーが読み込まれませんでしたので、
    以下のコードを埋め込み表示されたのですが、また新たな解決できないことが出てきてしました。。
    以下のコードは、親カテゴリが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");
    	}
    ?>

    どうかご教授のほどお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: ユーザーレベルによる分岐
    トピック投稿者 hazudog

    (@hazudog)

    お世話になります。
    上記の通り自己解決したと書きましたが、見当違いで、解決しておりませんでした。
    さらに追加で質問が出てきてしまいましたのでご教授いただきたくお願いいたします。

    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でログインして、記事ページを表示してもヘッダーが読み込まれません。
    原因とどのように記述すべきが分かりませんので、ご教授いただけませんでしょうか。

    フォーラム: 使い方全般
    返信が含まれるトピック: ユーザーレベルによる分岐
    トピック投稿者 hazudog

    (@hazudog)

    ご教授ありがとうございました。

    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 } ?>

    またよろしくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 複数のカテゴリに属する記事について
    トピック投稿者 hazudog

    (@hazudog)

    先ほどの投稿間違っておりました。
    失礼いたしました。

    同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。

    と書きましたが、同じ親階層を持っていません。

    以下のような構造です。

    > 乳製品 > ヨーグルト
    > デザート > ヨーグルト

    パン屑にデザートと表示してほしいところ、乳製品と表示されています。

    どうぞ宜しくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 複数のカテゴリに属する記事について
    トピック投稿者 hazudog

    (@hazudog)

    jim912さん
    ご返答大変ありがとうございます。

    パーマリンクの方は、若い番号が適用される事は分かりましたが、Breadcrumb NavXTの方は未だに解決ができません。

    Breadcrumb NavXTにつきまして:

    名前順にカテゴリーを取得し、親階層を持つカテゴリーが存在すれば、そちらが優先されるようになっています。

    とのことですが、”乳製品”のカテゴリと”デザート”は同階層にあり、
    同じ親階層を持っていますので、どのような法則で優先されているのかが分かりません。

    尚現在、意図しないほうカテゴリがパン屑に表示されてしまい改善ができない状態にあります。

    なにかのプラグインを使用することや、解決策はありませんでしょうか。

    どうぞ宜しくお願いいたします。

    トピック投稿者 hazudog

    (@hazudog)

    <?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;
    	}
    }
    
    ?>

    として自己解決しました。

    トピック投稿者 hazudog

    (@hazudog)

    カスタムフィールドで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;
    }
    ?>

    宜しくお願いいたします。

    トピック投稿者 hazudog

    (@hazudog)

    ご教授ありがとうございます。
    以下の様に記述し、日付と新着情報が出力されましたが、
    出力の仕方が、日付は日付、新着情報は新着情報と出力されます。

    <?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も初心者で、希望する出力結果の記述方法が分かりません。

    たびたびで恐縮ですが、
    どうぞ宜しくお願いいたします。

    トピック投稿者 hazudog

    (@hazudog)

    早速のご教授大変ありがとうございます。
    以下の様に記述しましたが、出力される文字がおかしい見たいですが、
    当方のコードの書き方が間違っていますでしょうか?

    <?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” }

    たびたびで恐縮ですが、ご教授お願いいたします。

    トピック投稿者 hazudog

    (@hazudog)

    言葉足らずで失礼いたしました。
    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も初心者です。

    どうぞ宜しくお願いいたします。

    トピック投稿者 hazudog

    (@hazudog)

    早速のご教授大変ありがとうございます。
    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; ?>

    フォーラム: 使い方全般
    返信が含まれるトピック: 管理画面からカテゴリページに任意の文字を設定
    トピック投稿者 hazudog

    (@hazudog)

    お世話になります。

    Category Meta Versionのプラグインを使用する事でひとまず解決いたしました。

    また宜しくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 管理画面からカテゴリページに任意の文字を設定
    トピック投稿者 hazudog

    (@hazudog)

    ご教授ありがとうございます。

    一件の説明であれば、表示ができましたが、
    こちらのカテゴリページ、複数の説明を出力したいのです。

    このような場合管理画面からは設定できないでしょうか。

    宜しくお願いいたします。

15件の返信を表示中 - 1 - 15件目 (全20件中)