photographer hiro.
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 記事ページに同じタームに属する記事一覧を表示したい。kuck1u様
ありがとうございます。
色々と調べてみたいと思います。sarasararさん、余計な質問してしまいすみませんでした。
フォーラム: 使い方全般
返信が含まれるトピック: ユーチューブのURLを綺麗にしたいcolorfullifeinfo様
manbo様ご回答ありがとうございました。
希望してたURLが生成できました。ユーチューブ動画をトップページの背景にしたく、JSの「data-property」に使おうと思っていました。
http://coliss.com/articles/build-websites/operation/work/video-background-website-by-designmodo.html本当にありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 記事ページに同じタームに属する記事一覧を表示したい。kuck1uさん
ありがとうございます。
勉強になります。kuck1uさんご質問させてください。
functions.phpなどでてきおうしづらいルール的な条件が難しいものについては、SQLをつかうべきなのでしょうか?フォーラム: 使い方全般
返信が含まれるトピック: 記事ページに同じタームに属する記事一覧を表示したい。sarasarariさん
whileをクエリーなしでつかわれてる?感じがしますので
下記の方に合わせてみてはいかがでしょうか?もしくはforeachか、
もっとこまかい設定はSQL関数とかになってしまうかもしれません。
<?php $args = array( //query条件を定義 ); //メインループ if ( query_posts( $args ) ) : query_posts( $args ); while ( have_posts() ) : the_post(); ?> <p>投稿のループ</p> <?php endwhile; else: ?> <p>投稿がなかったときの処理</p> <?php endif; wp_reset_postdata(); ?>
フォーラム: 使い方全般
返信が含まれるトピック: 記事ページに同じタームに属する記事一覧を表示したい。未検証ですが、以下のコードとかどうですか?
「’relation’ => ‘AND’,」はいらないかもしれないです。$custom_term_id = get_field('products-cate'); $args = array( 'post_type' => array('aaa','bbb'), 'numberposts' => 8, 'orderby' => 'rand', 'post__not_in' => array($post->ID), 'relation' => 'AND', 'meta_query' => array( array( 'key' => 'products-cate', 'value' => array( $custom_term_id ), 'compare' => 'IN', ), 'tax_query' => array( 'taxonomy' => 'products_cate', 'field' => 'ID',//ID or slug 'terms' => array( $custom_term_id ),//term_id ) ), );
フォーラム: 使い方全般
返信が含まれるトピック: 記事ページに同じタームに属する記事一覧を表示したい。sarasarariさん
ご確認ですが、
結論的にはカスタムフィールドで指定したターム一覧を記事ページにソートしたい感じでしょうか?下のソースどちらか試して頂けますでしょうか。
簡単で申し訳ございません。
<?php //「aaa」「bbb」は投稿タイプ //パターン1 $custom_term_id = get_field('products-cate'); $args = array( 'post_type' => array('aaa','bbb'), 'numberposts' => 8, 'meta_key' => 'age', 'orderby' => 'meta_value_num', 'orderby' => 'rand', 'post__not_in' => array($post->ID), 'meta_query' => array( array( 'key' => 'products-cate', 'value' => array( $custom_term_id ), 'compare' => 'IN', ), ), ); //products-cateのカスタムフィールドの値をソート //パターン2 $custom_term_id = get_field('products-cate'); $args = array( 'numberposts' => 8, 'post_type' => array('aaa','bbb'), 'taxonomy' => 'products_cate', 'field' => 'ID',//ID or slug 'terms' => array( $custom_term_id ),//term_id 'orderby' => 'rand', 'post__not_in' => array($post->ID) ); //カスタムフィールドで指定した値をタームIDとしてソート ?>
フォーラム: 使い方全般
返信が含まれるトピック: マルチサイトで、カスタムフィールドを使って特定の記事をソートしたいお世話になります。
カスタムフィールドの値でソートできるようになったのですが
カスタムフィールの値(日付)で並び替えが出来なく、困っております。現状、以下のソースです。
<?php // ネットワークお知らせ情報 /* ソートに必要なカスタムフィールド //②get_field('event-complete-time');//期限を表すフィールド(日付型)「日時が古い順番で並び替えたい」(未解決) */ $network_site_not_ids = ''; $network_site_not_ids = sanitize_text_field(get_field('network-site-not-id','option')); $network_site_not_ids = mb_convert_kana($network_site_not_ids, 'a', 'utf-8'); //$network_site_not_ids = mb_ereg_replace('[^0-9]', '', $network_site_not_ids);//数字とカンマだけにしたいけど、やり方不明 $args = array( //「1」が立つと有効、「0」だと無効 'public' => 1,//属性が「公開」のサイトのみ 'archived' => 0,//アーカイブサイト 'mature' => 0,//成人向けサイト 'spam' => 0,//スパムサイト 'deleted' => 0, //削除済みサイト 'site__not_in' => array( /*get_current_blog_id(),$network_site_not_ids*/), //対象除外 一時無効 ); $sites = get_sites($args); if($sites ): foreach( $sites as $child_site ): $child_site_id = $child_site->blog_id; $blog_id_arr[] = $child_site_id; endforeach; endif; $sql = ''; $tmp = $blog_id_arr; //$limit_pub = '-1 month';//表示日数の設定(マイナスを付ける事) //$limit_mod = '-2 week';//表示日数の設定(マイナスを付ける事) foreach($blog_id_arr as $b_id){ next($tmp); switch_to_blog($b_id); $sql .= <<<HERE (SELECT *, $b_id as blog_id FROM $wpdb->posts JOIN $wpdb->postmeta AS m1 ON m1.post_id = $wpdb->posts.ID WHERE post_type = 'event' AND post_status = 'publish' AND m1.meta_key = 'event-complete' AND m1.meta_value = 'normal' /*AND (post_date > date_add( now(), interval $limit_pub ) OR post_modified > date_add( now(), interval $limit_mod ) )*/ ) HERE; if(current($tmp) !== false){ $sql .= "UNION\n"; } restore_current_blog(); }//END foreach($blog_id_arr as $b_id) //event-complete $sql .= <<<HERE ORDER BY post_date ASC LIMIT 5 HERE; $posts = $wpdb->get_results($sql); //記事一覧 foreach ($posts as $post): switch_to_blog($post->blog_id); setup_postdata($post); //サイト名取得(重要) $current_sites = get_blog_details($post->blog_id); //$site_path = $current_sites -> path; $blog_name = sanitize_text_field($current_sites -> blogname); include('parts_relation_single_post_list_one.php');//投稿の標準コンテンツ読み込み //$network_post_outで出力 endforeach; wp_reset_postdata($post); wp_reset_query(); restore_current_blog(); //endif; switch_to_blog( $current_blog_id );//現在のサイトに戻す //END 関連商品 ?>
恐れ入ります、ご存知の方いらっしゃいましたら、ご教授頂ければ幸いです。
よろしくお願い致します。フォーラム: 使い方全般
返信が含まれるトピック: テキストの中の段落タグを改行タグに置き換えてたいishitaka様
上記のコードで、思いどうりのアクションが出来ました。
本当にありがとうございました。フォーラム: 使い方全般
返信が含まれるトピック: 関連のある記事を表示したいsarasarariさん
ごめんなさい、ちょっと内容がわかりずらいので
「関連」はおそらくソートですので、投稿タイプ(slug)が何で、タクソノミー(slug)が何で、カスタムフィールド(slug)がなにで
どのようにソートをかけたいなど、整理して頂くとわかりやすいかもしれません。フォーラム: プラグイン
返信が含まれるトピック: 1つのカスタムフィールドに入力した数値の合算と期間指定sakamotosndさん
「$timestamp」の部分で下の方がわかりやすいかもしれないです(未検証)
$timestamp = date('U', strtotime('last Month', strtotime( date('U') )));
フォーラム: プラグイン
返信が含まれるトピック: 1つのカスタムフィールドに入力した数値の合算と期間指定sakamotosndさん
「$today = getdate();」の部分を以下のように変更してみていだたけますでしょうか
$timestamp = date('U', mktime(0, 0, 0, date('m') + 0, -1, date('Y')));//先月 $last_month = getdate($timestamp );//ミリ秒で渡す
$args = array( 'numberposts' => '-1', 'post_type' => 'post', 'meta_key' => 'tantou', //営業マンのカスタムフィールド名 'meta_value' => 'a', //例えば、営業マン'a' //'orderby' => 'meta_value_num', //'order' => 'ASC', 'date_query' => array( array( 'year' => $last_month['year'], 'month' => $last_month['mon'], ), ), );
配列しか確認していません、すみません。
フォーラム: プラグイン
返信が含まれるトピック: 1つのカスタムフィールドに入力した数値の合算と期間指定sakamotosndさん
今月でしたらこんな感じでしょうか。$today = getdate(); $args = array( 'numberposts' => '-1', 'post_type' => 'post', 'meta_key' => 'tantou', //営業マンのカスタムフィールド名 'meta_value' => 'a', //例えば、営業マン'a' //'orderby' => 'meta_value_num', //'order' => 'ASC', 'date_query' => array( array( 'year' => $today['year'], 'month' => $today['mon'], ), ), );
フォーラム: マルチサイト
返信が含まれるトピック: 子サイトを含めた検索フォームinoue0213さん
以下のソースを「search.php」でカスタマイズしています。
いかがでしょうか。<div id="main_col"> <?php // 検索クエリを取得 $search_result = get_search_query(); // マルチサイト内を検索 $search_results = search_multisite($search_result); function search_multisite($query_string) { add_action( 'pre_get_posts', 'my_pre_get_posts' ); function my_pre_get_posts( $query ) { $query->set( 'posts_per_page' , 3 );//1ページ当たりの数 } // 文字列エンコード $query_string = esc_attr($query_string); $search_result = array(); // ネットワーク上のブログを取得 $blogs = get_blogs_of_user( 1, true); foreach ( $blogs as $blog ): // ブログを切り替える switch_to_blog($blog->userblog_id); // 切り替えたブログでqueryを実行 $search = new WP_Query( array( 's' => $query_string, 'post_type' => array('post','page',) ) ); if ($search->found_posts > 0): foreach ( $search->posts as $post ): // 投稿記事に関連するグローバル変数を設定する setup_postdata($post); array_push($search_result, $post); endforeach; endif; endforeach; return $search_result; restore_current_blog(); // END function search_multisite($query_string) } ?> <h2>検索結果</h2> <p>“<?php the_search_query(); ?>”に関連する検索の結果 (<?php echo count($search_results); ?> 件)</p> <?php foreach ( $search_results as $post ) : //the_post; setup_postdata($post); ?> <!--検索結果のループ--> <div class="searchList" style="border:solid 1px red; margin-bottom:15px;"> <div class="article"> <h3><a href="<?php echo $post->guid; ?>"><?php the_title(); ?></a></h3> <p> <?php $id =get_the_ID(); //echo $post->post_content; the_excerpt(); ?> </p> <p class="detail"><a href="<?php echo $post->guid; ?>">詳細はこちら</a></p> </div> </div> <!--/検索結果のループ--> <?php endforeach; wp_reset_query(); ?> <div id="next_post"><?php next_posts_link(); ?></div> </div><!-- END #main_col -->
フォーラム: プラグイン
返信が含まれるトピック: 1つのカスタムフィールドに入力した数値の合算と期間指定sakamotosndさん
もう解決ってされましたでしょうか。
基本的には、元のソースの部分の「echo post_custom(“uriage”);」を以下のソースで配列化させます。$uriage = post_custom("uriage"); if($uriage): $uriage_a[] = $uriage; endif; echo $uriage;
ループが終わった後に、
if($uriage_a): $goukei = array_sum ( $uriage_a); echo $goukei; endif;
と、array関数で計算してあげると良いと思います。
array_sumあとは皆様に頂いたソースにあらせて頂ければ、計算が簡素化できる気がします。
私自身、ほとんど配列関数で組んでしまうので、皆様のソースの方がよろしいかもしれません。って感じの考え方とかはいかがでしょうか?
クエリー関連は「関数リファレンス/WP Query」を参考にされるといろいろできるかもしれないです。
- この返信は7年、 7ヶ月前にphotographer hiro.が編集しました。理由: 誤記入の為
フォーラム: 使い方全般
返信が含まれるトピック: WP_Queryで指定したページテンプレートを除外して固定ページ一覧を取得したい自己解決できました。
$args = array( 'post_type' => array('page'), 'post__not_in' => array($id), 'meta_query' => array( 'relation' => 'AND', array( 'key' => '_wp_page_template', 'value' => 'page_taxonomy_archive.php', /* your template file name */ 'compare' => '!=' ), array( 'key' => '_wp_page_template', 'value' => 'page_archive.php', /* your template file name */ 'compare' => '!=' ), array( 'key' => '_wp_page_template', 'value' => 'page_page_archive.php', /* your template file name */ 'compare' => '!=' ) ), 'has_password' => false, 'post_status' => array('publish'), 'posts_per_page' => 10, 'paged' => get_query_var('paged'),//重要(固定ページを使うときは設置) );