フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全48件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: ACFの値が一致するときの条件分岐について
    トピック投稿者 mikujin

    (@mikujin)

    fongafon 様

    お忙しい中、ご返信下さりありがとうございます。

    頂いたコードで実装してみました。完璧です!

    このコードで他もたくさん応用できますので、早速書き換えていきます(*^_^*)

    本当にありがとうございました!!!

    フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐をしてページスラッグを取得する方法
    トピック投稿者 mikujin

    (@mikujin)

    arborvitae666様、ご回答ありがとうございます。
    頂いたショートコードでの出力はできませんでしたが、教えて頂いたコードをベースに再度コードを見直し、下記のコードでようやく実装ができました!

    <?php
    $page_list = get_posts( 'numberposts=-1&order=ASC&post_type=post' ); // ページ情報の取得
    foreach ( $page_list as $post){
    $parent_id = $post->post_parent;
    $parent_slug = get_post( $parent_id )->post_name;
    if ( is_page() && $post->post_parent ){
    echo 'echo '親あり '. urldecode( $parent_slug ) .'-' .urldecode( $post->post_name )."\n";
    }else{
    echo 'echo '親なし '. urldecode( $post->post_name ) ."\n";
    }
    ;}
    echo "\n";
    ?>

    childsview様、arborvitae666様、お忙しい中、お力を貸して頂き本当にありがとうございます。
    これからも勉強頑張ります!

    • この返信は1年、 4ヶ月前にmikujinが編集しました。
    フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐をしてページスラッグを取得する方法
    トピック投稿者 mikujin

    (@mikujin)

    childsview 様、ご回答ありがとうございます。
    以下のコードで再度試してみましたが、やはり親のスラッグを表示してくれません。
    2階層の想定で親スラッグと子スラッグのみ取得したいです。

    <?php
    	$page_list = get_posts( 'numberposts=-1&order=ASC&post_type=page' ); // ページ情報の取得
    	foreach($page_list as $postObj){
    		if($postObj->post_parent === 0){
    			echo '親なし'. $postObj->post_name."\n";
    		}else{
    			echo '親あり'. $postObj->post_name."\n";
    		}
    ;}
    ?>

    childsview 様の環境では上記で親スラッグが取得できているのでしょうか?
    何が違うのかわかりません・・・
    ご回答頂けましたら幸いです。
    宜しくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐をしてページスラッグを取得する方法
    トピック投稿者 mikujin

    (@mikujin)

    childsview 様、ご回答ありがとうございます。
    ご回答頂いてからも何度試していますが、解決に至っておりません。
    $parent_slugというコードを認識しないようです。
    また、アドバイス頂いたvar_dump();で出力したところ、NULLと表示されます。

    現在表示しているページの直上の親スラッグではなく、全ページの各親スラッグの表示ができないです。
    試しに別のPHPファイルにて出力すると、直情の親スラッグが親ありスラッグの全件に適応されました。
    なのでループ内外の処理の問題なのかとも思い、get post()などを試したのですが、やはりできず・・・
    お力貸して頂けると幸いです(:_;)
    宜しくお願いいたします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 条件分岐をしてページスラッグを取得する方法
    トピック投稿者 mikujin

    (@mikujin)

    childsview 様、ご回答ありがとうございます。
    早速functions.phpに頂いたコードをペーストしてみたのですが、出力結果がすべて「親なし postname」の一覧になってしまいます。
    実際に親なしのものも親ありのものも同じ結果です。
    固定ページから親の設定なども再度確認しまししたが、親ありのページもあります。
    どの部分かの分岐ができていないのでしょうか・・・
    引き続きお力をお貸し頂ければ幸いです。
    宜しくお願いいたします(:_;)

    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、ご返信ありがとうございます。

    リンク先を確認しました。
    DEBUGを見ましたが、本件と関連のありそうなエラーはありませんでした。

    本来ならば、以下のコードで実装が可能とのことですが、私の環境ではなぜかできません。

    <?php 
    $current_user = wp_get_current_user();
    if($current_user->caps['administrator'] === false): ?>
    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->display_name;
    if($user['display_name']=== $loginuser):
    ?>
    //コンテンツ
    <?php endif; ?>
    <?php endif; ?>

    とりあえずは、意図した実装が可能なので、以下のコードを使用することにします。

    
    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->display_name;
    if($user['display_name']=== $loginuser):
    ?>
    //コンテンツ
    <?php else:?>
    <?php if(current_user_can( 'administrator' ) ) :?>
    //コンテンツ
    <?php endif; ?>
    <?php endif; ?>

    ここまでお力を貸して頂いたのに、解決できず大変悔しいのですが、引き続き本件に取り組みながら、何かのタイミングで実装ができたら追記したいと思います。

    お忙しい中、本当にありがとうございましたm(_ _)m
    Aki Hamano様もたくさんのアドバイスありがとうございましたm(_ _)m

    今後ともどうぞよろしくお願いいたします。

    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、ご返信ありがとうございます。

    説明不足で申し訳ないです。
    やりたいことは下記です。

    1.ログインユーザーとACFの値(ユーザー)が一致したとき、ログインユーザー名を出力
    2.管理者の場合、この条件分岐は除外(全コンテンツ表示)

    1のみのですと、実装できております。
    2を追記すると、全ユーザー・管理者でもページが空白になってしまいます。(管理者は全コンテンツ表示したい)

    このような状態です(:_;)
    何かアドバイス頂ければとても助かります。
    どうぞ宜しくお願いいたします。

    トピック投稿者 mikujin

    (@mikujin)

    Aki Hamano様、ご返信ありがとうございます。

    頂いたコードで値を1つづつチェックしました。ありがとうございます。
    全ての項目において意図している値が出力されていました。

    これを踏まえて再度コードを書いてみましたが、やはり空白になってしまいます(:_;)
    自分なりにコードを分析しながら取り組んでいるのですが、つまづいてしまいます・・・

    下記のように条件を分けて書くと、意図した通りの実装ができますが、同じコンテンツ部分を2つ書かないといけなくなってしまいます。

    //ログインユーザー=ACFの値が一致したとき
    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->display_name;
    if($user['display_name']=== $loginuser):
    ?>
    <h3><?php echo $loginuser; ?></h3> //コンテンツ
    
    //上記以外で管理者権限のとき
    <?php else:?>
    <?php if(current_user_can( 'administrator' ) ) :?>
    <h3><?php echo $loginuser; ?></h3> //コンテンツ
    
    <?php endif; ?>

    一つの分岐で書ければベストなのですが・・・
    何かアドバイス頂ければとても助かります。
    どうぞ宜しくお願いいたします。

    • この返信は2年前にmikujinが編集しました。
    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、Aki Hamano様、ご返信ありがとうございます。

    kimipooh様に頂いたリンク先確認しました。
    wp_get_current_userでは、管理者情報すべて取得できました。

    $current_user = wp_get_current_user();
    var_dump($current_user->caps[“administrator”]);
    で実行結果、bool(true) でした。

    上記を踏まえて、Aki Hamano様に教えて頂いた内容で上書きし、以下を実行してみましたが、結果は空白で変わりませんでした。

    <?php 
    $current_user = wp_get_current_user();
    if($current_user->caps['administrator'] === false): ?>
    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->display_name;
    if($user['display_name']=== $loginuser):
    ?>
    
    <h3><?php echo $loginuser; ?></h3> 
    
    <?php endif; ?>
    <?php endif; ?>

    他に考えられる原因はありますでしょうか・・・
    ご教示頂ければ幸いです。
    どうぞ宜しくお願いいたします。

    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、ご返信ありがとうございます。
    リンクありがとうございます。manage_optionsの使い方について調べてみました。
    このようなタグがあるのは知りませんでした。
    しかしながら、頂いたコードでは実装には至りませんでした。
    下記のような書き方も試してみましたが結果は変わりませんでした。

    
    <?php if(!current_user_can('manage_options')): ?>
    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->user_login;
    if($user['display_name']=== $loginuser):
    ?>
    <h3><?php echo $loginuser; ?></h3> 
    <?php endif; ?>
    <?php endif; ?>
    

    管理者を除いて、処理を実行するには、どのようなコードを書けば良いのでしょうか・・・
    アドバイス頂ければ助かります(:_;)
    宜しくお願いします。

    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、ご返信ありがとうございます。
    頂いた1つ目のコードで実装したかったログインユーザーとACFユーザーの値の紐づけが出来ました。
    ありがとうございます!

    ただ、管理者権限のログイン時のみ分岐を除外したいのですが、どのようなコードを書き足せばよいでしょうか?
    下記のコードを書いてみたのですが、上手くいきません。

    <?php 
    $user = get_field('username');
    $loginuser = wp_get_current_user()->user_login;
    if($user['display_name'] === $loginuser && !current_user_can('administrator')):
    ?>
    <h3><?php echo $loginuser; ?></h3> 
    <?php endif; ?>

    また、これと同じ内容でアーカイブページにも、「管理者権限以外」で、ログインユーザーの記事のみ一覧表示する場合、どのようなコードにすればよいでしょうか?
    同じコードを貼り付けてみましたが、実装できませんでした。
    アーカイブページの場合の書き方についてアドバイス頂ければ助かります。

    2つ目のコードもありがとうございます。
    今後必要なときに何度も参照しながら学ばせて頂きます。
    きちんと要件定義ができていなくて、お手数をおかけしまして申し訳ありませんでした。

    引き続きご返信をお待ちしております。
    どうぞ宜しくお願いいたします。

    トピック投稿者 mikujin

    (@mikujin)

    kimipooh様、ご返信ありがとうございます。
    貼り付けて頂いたURL先も質問前に目を通していたのですが、改めて内容確認いたしました。
    早速、ご教示内容から下記のコードを書いてみましたが、意図した結果にはなりませんでした。
    実行結果は空白となります。

    <?php
    $user = get_field('username');
    $loginuser = get_users(); ←ここが分かりません
    ?>
    <?php if ( $user === $loginuser->user_login ) : ?>
        <h3><?php echo $loginuser->display_name; ?></h3> ←ここも意図した出力がされません
    <?php endif; ?>

    また、ACFのフィールドの返り値は「配列」に指定しております。
    var_dump($user) で内容を確認しましたところ、display_nameでの出力がありました。

    上記コードのどの部分が問題なのか、再度ご教示頂ければ助かります。
    引き続き、宜しくお願いいたします。

    フォーラム: その他
    返信が含まれるトピック: カスタム投稿の管理画面の投稿一覧でACFの値を表示
    トピック投稿者 mikujin

    (@mikujin)

    下記のコードで自己解決できました。

    function add_posts_columns( $columns ) {
    $columns['clientname'] = '顧客名';
      return $columns;
    }
    function custom_posts_column( $column_name, $post_id ) {
    if ( $column_name == 'clientname' ) {
    $user = get_field( 'clientname' ); 
    if ( $user )  {
    the_author_meta('company',$user['ID']);
    }
    }

    管理画面の投稿一覧よりリンクをつけて、抽出する方法については、解決に至っていないので引き続き宜しくお願いいたします!!

    フォーラム: その他
    返信が含まれるトピック: 権限別ログイン後の条件分岐の書き方
    トピック投稿者 mikujin

    (@mikujin)

    shokun0803 (@shokun0803)様

    ご返信ありがとうございます。
    その後、引き続き試行錯誤をしてみましたが、実装に至らず、引き続き勉強します。
    一旦こちらのトピックは解決済みにさせて頂きます。
    お時間頂きありがとうございます。

    フォーラム: プラグイン
    返信が含まれるトピック: ACFの値を別ページかつループ外で表示する方法
    トピック投稿者 mikujin

    (@mikujin)

    Tetsuaki Hamano 様

    再度の教示ありがとうございます。
    頂いたコードでは意図した通りの実装ができなかったのですが、下記コードで実装ができました。

    <?php if ( get_post_meta( 10, 'meta_key', true ) ) : ?>
    <?php the_field('meta_key2',10); ?>
    <?php endif; ?>

    はい。本当にその通りです。
    今年こそは基礎からPHPの学習をしたいと思っております。
    迅速なご回答本当にありがとうございました(*^-^*)

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