heysister721
フォーラムへの返信
-
フォーラム: マルチサイト
返信が含まれるトピック: マルチサイトでのブログ内ループについて難しそうなので、いったん取り下げます。
フォーラム: その他
返信が含まれるトピック: カスタムフィールドの独自DB登録すみません。
先程投稿したものは、本来「プラグインとして」有効となるものなのに、早とちりしてテンプレートに埋め込んでしまいました。
フォーラム: その他
返信が含まれるトピック: カスタムフィールドの独自DB登録公式サイトのドキュメントを参考にして、次のように作成してみましたが、データベースには登録されませんでした。
設置した場所は、テーマの独自テンプレートです。
<?php global $jal_db_version; $jal_db_version = '1.0'; function jal_install() { global $wpdb; global $jal_db_version; $table_name = $wpdb->prefix . 'liveshoutbox'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( num int(5) NOT NULL AUTO_INCREMENT COMMENT '会員番号', class varchar(32) DEFAULT NULL COMMENT '所属', name varchar(16) DEFAULT NULL COMMENT '氏名', pos varchar(8) DEFAULT NULL COMMENT '役職', UNIQUE KEY num (num) ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); add_option( 'jal_db_version', $jal_db_version ); } function jal_install_data() { global $wpdb; $table_name = $wpdb->prefix . 'liveshoutbox'; if ( have_rows( 'list' ) ) : while ( have_rows( 'list' ) ) : the_row(); $num = get_sub_field( 'num' ); $class = get_sub_field( 'class' ); $name = get_sub_field( 'name' ); $pos = get_sub_field( 'pos' ); $wpdb->insert( $table_name, array( 'num' => $num, 'class' => $class, 'name' => $name, 'pos' => $pos, ) ); endwhile; endif; } ?>
フォーラム: その他
返信が含まれるトピック: カスタムフィールドの集計方法やりたいことが複雑すぎるのか、回答しづらいようなので、一旦取り下げます。
フォーラム: テーマ
返信が含まれるトピック: カスタムフィールドのフォーマット変換フォーラム: テーマ
返信が含まれるトピック: 固定ページの動的ページ化@munyagu 様 ご指導いただきありがとうございました。
meta_query
を使って、カスタムフィールド値を抽出すればよいということが、ご説明を読んだときに感じました。ただ、私の理解力が乏しく、実働するコードを作り上げることができませんでした。
自分が理解できている範囲でできたことは、抽出するための「入力フォーム」を、未入力の時に「1か月前から今日まで」を自動的に割り当てるよう、次のように変更しました。
<?php // 抽出開始日の指定 if($_SERVER["REQUEST_METHOD"] == "POST"){ $date_start = $_POST["date_start"]; } else { $date_start = date('y-m-d', strtotime('-1 month')); } // 抽出終了日の指定 if($_SERVER["REQUEST_METHOD"] == "POST"){ $date_end = $_POST["date_end"]; } else { $date_end = date("y-m-d"); } ?> <form method="post" action="#" accept-charset="UTF-8" enctype="multipart/form-data"> <div style=""> <div style="display:flex; width:30%; float: left;"> <h4 style="width:20%; text-align: center; font-size: 0.8rem;">開始日</h4> <input type="text" id="date_start" name="date_start" value="<?php echo $date_start; ?>" style="font-size:1.6rem;"> </div> <div style="display:flex; width: 30%; float: left;"> <h4 style="width:20%; text-align: center; font-size: 0.8rem;">終了日</h4> <input type="text" id="date_end" name="date_end" value="<?php echo $date_end; ?>" style="font-size:1.6rem;"> </div> <div style="display:flex; width: 16%; float: left ; vertical-align: bottom;"> <input type="submit" value="範囲を指定" style="margin-left: 1rem; font-size: 1.1rem;"> </div> </div> </form>
ここまでが自分の限界・・・かもしれません。
とりあえずは、全投稿のループに「提出日(kzn_reg_date)」をもとにして、下記の条件でとりあえず抽出できるようになりました。
<?php $cid = 1 ; ?> <?php $args = array( 'posts_per_page' => -1, 'order' => 'DESC', 'post_type' => 'post', 'post_status' => 'publish', 'suppress_filters' => true, 'no_found_rows' => true ); $the_query = new WP_Query( $args ); ?> <?php while ( $the_query->have_posts() ) { ?> <?php $the_query->the_post(); ?> <?php if ( have_rows( 'kzn_info' , $pid ) ) : while ( have_rows( 'kzn_info' , $pid ) ) : the_row(); $kzn_reg_date = get_sub_field( 'kzn_reg_date' , $pid ); endwhile; endif; ?> <table> if( ( $kzn_reg_date >= $date_start ) && ( $kzn_reg_date <= $date_end ) ){ ?> <tr> === // 中 略 // === </tr> <?php }; ?> <?php wp_reset_postdata(); ?> </table>
本当なら、$the_query = new WP_Query( $args ); の抽出条件に期間判を設けたかったのですが、現状理解できていないので、これでいこうと思います。
もし可能であれば、
$the_query = new WP_Query( $args );
の中に$kzn_reg_date
の開始と終了の入力値の範囲内にする方法がありましたら、ご教授いただければ幸いです。フォーラム: テーマ
返信が含まれるトピック: 固定ページの動的ページ化@fugaku 様
ご指導いただきました「Filter By Date Range」では調べていませんでした。
「Wordpress カスタムフィールド 期間指定」など、いわゆる『初心者なみ』の検索ワードで検索していました。
フォーラム: テーマ
返信が含まれるトピック: 固定ページの動的ページ化現状、次の通り固定ページに抽出範囲を指定するフォームを固定ページのテンプレートに埋め込んでいます。
<?php $today = date("y-m-d"); ?> <?php $ystmon = date('y-m-d', strtotime('-1 month')); ?> <form method="post" action="https://e-nss.local/kaizen/?page_id=163" accept-charset="UTF-8" enctype="multipart/form-data"> <div style=""> <div style="display:flex; width:30%; float: left;"> <h4 style="width:20%; text-align: center; font-size: 0.8rem;">集計開始</h4> <input type="text" id="date_start" name="date_start" value="<?php echo $ystmon; ?>" style="font-size:1.6rem;"> </div> <div style="display:flex; width: 30%; float: left;"> <h4 style="width:20%; text-align: center; font-size: 0.8rem;">集計終了</h4> <input type="text" id="date_end" name="date_end" value="<?php echo $today; ?>" style="font-size:1.6rem;"> </div> <div style="display:flex; width: 16%; float: left ; vertical-align: bottom;"> <input type="submit" value="範囲を指定" style="margin-left: 1rem; font-size: 1.1rem;"> </div> </div> </form>
そして、データを抽出するためのクエリ?として、次の通りに記述しています。
<?php $args = array( 'posts_per_page' => -1, 'order' => 'ASC', 'post_type' => array('post'), 'post_status' => 'publish', 'suppress_filters' => true, 'no_found_rows' => true ); $the_query = new WP_Query( $args ); ?>
上記コードに、カスタムフィールドで設定した「提出日(kzn_reg_data)」が「date_startより大きくdate_endより小さい」をフィルタリングできればいけそうなのですが・・・。
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリー名の抽出についてある程度の期間を置きましたが、お返事がいただけなかったので、一度取り下げます。
フォーラム: 使い方全般
返信が含まれるトピック: カテゴリー名の抽出について【参考サイト】
https://gimmicklog.com/wordpress/610/参考にしたページをもとに、下記のようにコードを入れ込むと、カテゴリの一覧が表示されるようになりました。
<?php $cats = get_the_category(); ?> <?php foreach($cats as $cat): ?> <?php if($cat->parent) echo $cat->cat_name; ?> <?php endforeach; ?>
上記のコードのままだと、
親CAT[0]
┗ 子CAT[0]★
┗ 子CAT[1]★
┗ 子CAT[2]
親CAT[1]
┗ 子CAT[0]
┗ 子CAT[1]★
┗ 子CAT[2]のカテゴリ設定で、★印のカテゴリを選択(設定)していた場合には、
『親CAT[0]子CAT[0]』『親CAT[0]子CAT[1]』『親CAT[1]子CAT[1]』のカテゴリ名が表示されました。
当初の質問内容と若干異なってしまいますが、
1番目のセルに『子CAT[0]が未チェックなら’0’、チェック済なら’1’』
2番目のセルに『子CAT[1]が未チェックなら’0’、チェック済なら’1’』
3番目のセルに『子CAT[2]が未チェックなら’0’、チェック済なら’1’』のような表にしたいと考えています。
フォーラム: マルチサイト
返信が含まれるトピック: マルチサイト間フィールド値のやりとり@ishitaka さん
早速のお返事ありがとうございます。
なんということでしょう、こんなに簡単に解決できるとは!!
さすがオープンソース。「みんなが使いやすいコード」になっていたんですね。質問したときのコードの前に次の5行を追加しただけで解決致しました。
<?php if (get_current_blog_id() != 1) { switch_to_blog(1); } ?>
改めて、@ishitaka 様 ありがとうございました。
フォーラム: プラグイン
返信が含まれるトピック: カスタムフィールドの集計方法@munyagu さん、お返事いただき、誠にありがとうございました。
折角ご教授頂いたお返事なのですが、私のスキル不足・無知のため、理解できませんでした。
申し訳ございませんが、このスレッドを閉じて出直してきます。
さらに、本件より先に解決すべき事案が出てきてしまったので、そちらから着手しようと思います。
ご協力に感謝致します、ありがとうございました。
フォーラム: プラグイン
返信が含まれるトピック: カスタムフィールドの集計方法フォーラム: プラグイン
返信が含まれるトピック: WP File Managerの日本語対応プラグインの開発元に問い合わせたところ、バージョンアップにて対応することとなり、すでにバージョンアップで対応できました。
親切に教えていただきました皆さんには、大変感謝しております。ありがとうございました。
フォーラム: 使い方全般
返信が含まれるトピック: 投稿の公開範囲の指定自己解決というか、プラグイン元がヴァージョンアップの際、同様の機能を「ショートコード作成」という形で解決という運びとなりました。