d.w.c
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: フロント側からアイキャッチ画像を削除したい。コードも考えていただいてありがとうございます!
すぐに返信したつもりだったのですが投稿できていませんでした、すみません。
説明が言葉足らずだったので追記させていただきます。現状ではabcというカスタム投稿タイプの、custom_imgというカスタムフィールドにアップロードした画像を公開時に自動で読み込んでアイキャッチに設定するようになっています。
これはプラグインではなく、functions.phpにコードを記述しています。
ただこの状態だと一度custom_imgに画像を設定して更新すると、その後custum_imgの画像を変更してもアイキャッチは最初のものから変わらないようです。なので、abcというカスタム投稿タイプが更新されるたびに「現在のアイキャッチを削除→custum_imgの画像をアイキャッチに設定」という流れが自動で起きるようにしたいのです。
これは可能でしょうか?フォーラム: 使い方全般
返信が含まれるトピック: フロント側からアイキャッチ画像を削除したい。フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿でアイキャッチがいじれなくなったフォーラム: インストール
返信が含まれるトピック: オフィスの引っ越しでローカル構築のwpにアクセスできなくなったWordPress Serialized PHP Search Replace Toolを使用したら無事に使用できるようになりました!
ありがとうございます。フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧の管理画面にカスタムフィールドでの絞り込み検索を実ありがとうございます。
提示情報が足りていませんでした、申し訳ありません。カスタム投稿「contact_form」
カスタムフィールド「acf-send-name」
で以下のように書き換えてみましたが、動作結果は変わりませんでした。add_filter('query_vars', function($vars){ array_push($vars, 'acf-send-name'); return $vars; }); add_action('restrict_manage_posts', function(){ $args = array( 'meta_key'=>'acf-send-name', 'post_type'=> get_post_type('contact_form') ); $posts = get_posts($args); $selected = array(); $selected[esc_attr($_GET['acf-send-name'])] = 'selected'; printf('<label class="screen-reader-text" for="acf-send-name">%s</label>', __( 'Filter by acf-send-name (Custom Field)' )); printf('<select id="filter-by-acf-send-name" name="acf-send-name">'); printf('<option value="0">%s</option>', __('すべての送信先')); global $post; foreach ($posts as $post){ setup_postdata($post); $value = get_post_meta($post->ID, 'acf-send-name', true); printf("<option value='%s' %s>%s</option>", esc_html($value), $selected[$value], esc_html($value)); } wp_reset_postdata(); printf('</select>'); }); add_filter('posts_where', function( $where ) { global $wpdb; if ( !is_admin() ) return $where; $value = get_query_var('acf-send-name'); if ( !empty($value) ) { $where .= $wpdb->prepare(" AND EXISTS ( SELECT 'x' FROM {$wpdb->postmeta} as m WHERE m.post_id = {$wpdb->posts}.ID AND m.meta_key = 'acf-send-name' AND m.meta_value like %s )", "%{$value}%" ); } return $where; });
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧の管理画面にカスタムフィールドでの絞り込み検索を実返信が大変遅くなりまして申し訳ありません。
カスタムフィールド名を「acf-send-name」というものに差し替えました。プルダウンのボックスが出るところまではできたのですが、中身が「全ての送信先」だけで、foreach文がうまく機能していないようです。
add_filter('query_vars', function($vars){ array_push($vars, 'acf-send-name'); return $vars; }); add_action('restrict_manage_posts', function(){ $posts = get_posts(array('meta_key'=>'acf-send-name')); $selected = array(); $selected[esc_attr($_GET['acf-send-name'])] = 'selected'; printf('<label class="screen-reader-text" for="acf-send-name">%s</label>', __( 'Filter by acf-send-name (Custom Field)' )); printf('<select id="filter-by-acf-send-name" name="acf-send-name">'); printf('<option value="0">%s</option>', __('すべての送信先')); global $post; foreach ($posts as $post){ setup_postdata($post); $value = get_post_meta($post->ID, 'acf-send-name', true); printf("<option value='%s' %s>%s</option>", esc_html($value), $selected[$value], esc_html($value)); } wp_reset_postdata(); printf('</select>'); }); add_filter('posts_where', function( $where ) { global $wpdb; if ( !is_admin() ) return $where; $value = get_query_var('acf-send-name'); if ( !empty($value) ) { $where .= $wpdb->prepare(" AND EXISTS ( SELECT 'x' FROM {$wpdb->postmeta} as m WHERE m.post_id = {$wpdb->posts}.ID AND m.meta_key = 'acf-send-name' AND m.meta_value like %s )", "%{$value}%" ); } return $where; });
カスタムフィールド名にハイフンがあるのがダメなのかと思って「answer」というカスタムフィールドを作ってみたんですが、それでもだめでした。
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿一覧の管理画面にカスタムフィールドでの絞り込み検索を実>kimipoohさん
ありがとうございます。管理画面の投稿一覧にカスタムフィールドの値での絞り込み検索を追加する
の方ですが、使用すると一応検索はできるようにはなるのですが、まずい点が2つ出てきます。1つは、検索窓の位置が「絞り込み検索」のボタンの後ろに来てしまう点です。
[日付] [投稿者] 【絞り込み検索(ボタン)】 [カスタムフィールド]
わかりにくいですが、上記のような配置になります。2つめは、候補がプルダウンで出てこない点です。
管理画面の投稿ページに作成者による絞り込み項目を追加する方法
ではforeachで取得した検索対象の項目がプルダウンで表示されるようになっているのですが、参考にさせていただいた方法の場合はinput形式になってしまっています。
これをどのように書き換えてforeachを組み込んでいいのかよくわかりません・・・カスタムフィールドを検索対象に含める
については、プラグインのSearch Everythingを載せているのでここに書かれていることはすでに対応できているはずです。—
調べた中では
WordPress管理画面の絞り込み検索をカスタマイズする
の中の
カスタムフィールドで絞り込み検索する場合の例カスタム投稿を {my-post-type} 、カスタムフィールドを {gender} とすると、 add_action('restrict_manage_posts', 'restrict_listings_by_gender'); function restrict_listings_by_gender() { global $typenow; $selected = array(); if ($typenow == '{my-post-type}') { echo '<select name="filter_gender">'; echo '<option value="">すべての性別</option>'; $selected[$_GET['filter_gender']] = 'selected'; echo '<option value="male" '. $selected["male"] . '>男</option>'; echo '<option value="female" '. $selected["female"] . '>女</option>'; echo '</select>'; } } add_filter('parse_query', 'gender_query'); function gender_query($query) { global $pagenow; global $typenow; if ($pagenow == 'edit.php' && $typenow == '{my-post-type}' && $_GET['filter_gender']) { $query->query_vars[ 'meta_key' ] = '{gender}'; $query->query_vars[ 'meta_value' ] = $_GET['filter_gender']; } return $query; }
が近いのかなとは思うのですが、うまいこと使える形に修正できませんでした。
フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したい大変遅くなりました。
下記のように記述して、動作を確認できました。ありがとうございました。<?php if(!empty($_GET['post_id'])): $id = $_GET['id']; $author_name = $_GET['name']; $author_mail = $_GET['mail']; ?> <script type="text/javascript"> jQuery(document).ready(function($){ var set_value = function(input_id, input_val) { if ($('#' + input_id).val() != '') { return; } $('#' + input_id).val(input_val); } set_value('acf-field_578862a57387d', "<?php echo $author_name; ?>"); //送信先名 set_value('acf-field_5788626a7387c', "<?php echo $author_mail; ?>"); //送信先アドレス }); </script> <?php endif; ?>
フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したいkimipoohさん、jdbbさん、ありがとうございます!
<script type="text/javascript"> jQuery(document).ready(function($){ var set_value = function(input_id, input_val) { if ($('#' + input_id).val() != '') { return; } $('#' + input_id).val(input_val); } set_value('acf-field_577b00716e88e', 'あいうえお'); }); </script>
とやったところ、「あいうえお」と入力することができました。
if文との組み合わせはこれから試しますが、とりあえずのお礼とご報告です。フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したいありがとうございます!!
とりあえずテキストフォームに設定したい文字列をセットできるかのテストとして、if文なしでこのように記述してみました。
記述場所はメールフォームを呼び出した<?php acf_form ?>のすぐ下です。<script type="text/javascript"> jQuery(document).ready(function($){ var set_value = function(input_id, input_val) { if ($('#' + id).val() != '') { return; } $('#' + id).val(input_val); } set_value(acf-field_577b00716e88e, あいうえお); }); </script>
しかし、この状態ではフォームのテキストエリア内に「あいうえお」の文字をセットすることはできませんでした。
そもそもやり方が間違っていますか?
あと、acfのサイトで「value」で検索をかけたら下記のようなものが出てきました。
これは今回の件に関係しているものでしょうか?
acf/format_value
acf/validate_valueフォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したいhttps://www.advancedcustomfields.com/resources/acf_form/
このページのJavascriptの項目に<script type="text/javascript"> (function($) { // setup fields acf.do_action('append', $('#popup-id')); })(jQuery); </script>
というのがあったんですが、これを何とかすればいいんでしょうか?
フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したい>jdbbさん
はい、acfのフロントエンドフォームを利用したメール送信を自作しています。
JEでの設定はやったことがないので試してみます。
ただ、具体的にどういう処理を試せばいいのか想像がつかないので、もしよろしければ似たようなことを紹介しているURLを教えていただけませんでしょうか?フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したい販売元に聞きたいのは山々なんですが、自分には言葉の壁が随分と高いのでどなたか日本語が通じる方で知っている人はいないかなと淡い望みをかけてこちらに書いてみました。
無料版でも同じことはできるはずだと思ったのもあります。でも・・・やっぱり他のプラグインに頼るしかないんでしょうかね・・・
フォーラム: プラグイン
返信が含まれるトピック: ACFで作成したメールフォームに遷移元の情報を自動入力したいフォーラム: 使い方全般
返信が含まれるトピック: WordPress User Frontendのショートコードについて似たようなものにはまりました。
自分は[wpuf_edit]を記載したページを作っても
I don’t know how to edit this post, I don’t have the form ID
と記載されるだけで編集ができなかったのですが、オフィシャルページの動画をじっくり見てみたら間違っていた箇所がわかりました。[wpuf_dashboard]などのショートコードはもともと使用できていたので、状況が違うかもしれませんが…
一度お試しください。https://wordpress.org/plugins/wp-user-frontend/installation/