フォーラムへの返信

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • フォーラム: プラグイン
    返信が含まれるトピック: WordPressPopularPostsプラグイン WPP_Queryの代替
    トピック投稿者 d-xanthus

    (@d-xanthus)

    ishitaka様
    ご返信ありがとうございます。
    なるほど、こんな記載の方法もあるのですね。
    おかげさまで無事上手くいきました。
    ありがとうございました。

    トピック投稿者 d-xanthus

    (@d-xanthus)

    ikaring様

    早速ご提案のコードを試させていただきました。
    どうやらうまくいきそうです。
    meta_queryの中でrelationが設定できるのですね、勉強になりました。

    こちらの方法で進めたいと思います。
    ありがとうございました。

    トピック投稿者 d-xanthus

    (@d-xanthus)

    ikaring様
    ご返信いただきありがとうございます。また返信が遅くなりまして申し訳ないです。

    最初は以下のようなコードで試したのですが

    
    $args = array(
                        'category_name'    => 'カテゴリーA,カテゴリーB',
                        'posts_per_page'   => -1,
                        'meta_query' => array(
                                          array(
                                            'key'=>'カスタムフィールド',
                                            'value'=>true,
                                            )
                                          )
                      );
    

    この場合、カテゴリーBのtrueのモノしか表示されませんでした。(カテゴリーAは全て表示したい)

    クライアントの間違いを防ぐために、ページの複数カテゴリーの選択をOFFにいますが、
    カテゴリーBはその上でカスタムフィールドにチェックを入れたものだけ掲載したいと考えています。

    おっしゃる通りカテゴリーAにもカスタムフィールドを設置して、デフォルトでfalseにしておく、というのも案としてはあるのですが、カテゴリーAに操作する必要のないフィールドを設置するのもどうかと思って…。
    (ちなみに上記のコードで’value’=>false,にすると何も表示されませんでした。)

    トピック投稿者 d-xanthus

    (@d-xanthus)

    お世話になります。
    いろいろ試した結果、valueの値を、名前ではなくIDの設定に、またIDをダブルコーテーションでくくることで、望み通りの結果が得ることができました。
    こちらで解決済みとさせて頂きます。
    ありがとうございました。

    <?php
    $author_id = $post->post_author;//ユーザーID
    $author_name = get_the_author_meta('display_name',$author_id) ;
    
    $paged = (int) get_query_var('paged');
    $args = array(
      'paged' => $paged,
      'category_name' =>'books',//カテゴリー名
      'posts_per_page'=> -1,
      'post_type' => 'post',
      'meta_query' => array(
                            array(  'key'=>'booksWriter',//ACFのフィールド名
                                     'value'=> '"'.$author_id.'"',
                                     'compare'=>'IN',
                                )
                           )
                     );
    $posts = get_posts( $args );
    ?>
    <?php if ($posts):?>
    <?php foreach($posts as $post) : setup_postdata($post)?>
    -----------中略---------------------
    <?php endforeach;?>
    <?php endif;?>
    トピック投稿者 d-xanthus

    (@d-xanthus)

    munyagu様

    ご返信いただき、ありがとうございます。

    すでにcompareをlikeにしても、何も表示されず、行き詰まっておりました。
    Advanced Custom Fieldsの複数値はクセがあるとどこかで読んだことがあったのですが、
    そのあたりに原因がありそうですね。

    実装するかどうかも要検討ですが、
    似たような状況の方の対策方法とか、もしあればとも思いますので
    もうしばらく、解決済みにしないでフォーラムに置いておこうかと思います。

    トピック投稿者 d-xanthus

    (@d-xanthus)

    Toro_Unit様

    ご返信いただき、ありがとうございます。

    imgタグ自体を取り去ってしまうのはさすがに問題ありかとは思いますが、
    http:のみを取り去ってしまうのは確かに有りかもしれませんね。

    検討してみます。
    ありがとうございます。

    トピック投稿者 d-xanthus

    (@d-xanthus)

    jim912様

    早速のご返答ありがとうございます。
    prepare メソッドは使わなくても良かったのですね。
    早速削除して動作確認したところ警告も消え、動作も問題ありませんでした。
    感謝致します。

    <!-- こちらが最終コード -->
    <?php $results = $wpdb->get_results("
                    SELECT YEAR(post_date) AS post_year
                    FROM wp_posts p, wp_term_relationships tr, wp_term_taxonomy tt, wp_terms t
                    WHERE p.ID = tr.object_id
                    AND tr.term_taxonomy_id = tt.term_taxonomy_id
                    AND tt.term_id = t.term_id
                    AND p.post_status = 'publish'
                    AND p.post_type = 'post'
                    AND tt.taxonomy = 'category'
                    AND t.name = 'メディア掲載'
                    GROUP BY post_year
                    ORDER BY post_year DESC
                ");?>
    <?php foreach ($results as $result) :?>
    <li><a>/category/media/<?php echo $result->post_year; ?>"><?php echo $result->post_year; ?>年</a></li>
     <?php endforeach; ?>
    フォーラム: プラグイン
    返信が含まれるトピック: contact form 7にPHP変数の値を渡したい
    トピック投稿者 d-xanthus

    (@d-xanthus)

    すみません、自己解決いたしました。

    jQueryを使って、CF7のテキストフィールドに属性として変数を渡すという方法です。
    簡単ではありますが、コードをこちらに記述致しますので
    同じお悩みの方の参考になれば幸いです。

    //フッター内
    <?php wp_footer(); ?>
    <script>
    jQuery('[テキストフィールドのID]').attr('value','<?php echo [変数名]; ?>')
    </script>
    トピック投稿者 d-xanthus

    (@d-xanthus)

    jim912様

    気づかない点へのご指摘、ありがとうございます。
    早速修正してみます。

    トピック投稿者 d-xanthus

    (@d-xanthus)

    jim912様

    お世話になります。
    この度はご返信ありがとうございました。

    get_queried_objectを使って
    無事にカテゴリースラッグが取得できました。

    クライアントに納品する際は、
    記事が無い場合もありますので、助かります。
    ありがとうございました。

    【解決コード】
    if ( is_category() || is_single() )  {
                $cat = get_queried_object();
                $slug = $cat->category_nicename;
              }
    フォーラム: 使い方全般
    返信が含まれるトピック: メールアドレスの入力確認機能について
    トピック投稿者 d-xanthus

    (@d-xanthus)

    Daisuke Takahashi 様
    ご返信いただきありがとうございました。
    おかげで無事、正常に動作するよう修正することができました。

    また、質問時、コードの参照先へのアドレスが間違っておりました。
    正しくはhttp://www.kitaguchi.jp/contact/96.htmlとなります。
    拝見いただいた方、また関係者様にご迷惑をおかけしたことをお詫びします。

    ちなみに最終のコードはこちらになります。

    add_filter( ‘wpcf7_validate_email’, ‘wpcf7_text_validation_filter_extend’, 11, 2 );
    add_filter( ‘wpcf7_validate_email*’, ‘wpcf7_text_validation_filter_extend’, 11, 2 );
    function wpcf7_text_validation_filter_extend( $result, $tag ) {
    $type = $tag[‘type’];
    $name = $tag[‘name’];
    $_POST[$name] = trim( strtr( (string) $_POST[$name], “\n”, ” ” ) );
    if ( ‘email’ == $type || ‘email*’ == $type ) {
    if (preg_match(‘/(.*)_confirm$/’, $name, $matches)){
    $target_name = $matches[1];
    if ($_POST[$name] != $_POST[$target_name]) {
    $result[‘valid’] = false;
    $result[‘reason’] = array( $name => ‘確認用のメールアドレスが一致していません’ ); //変更行
    //旧コード $result[‘reason’][$name] = ‘確認用のメールアドレスが一致していません’;
    }
    }
    }
    return $result;
    }

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

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