Colorful-life.
フォーラムへの返信
-
フォーラム: プラグイン
返信が含まれるトピック: MW WP Formの自動返信メールでチェックボックスで複数選択された場合の値を改行したいうーん…、やっている事は、
・メール本文内の文字列の一部(選択項目の送信された値)を取り出し
・その中のセパレーターを改行に置き換え
・メール本文に戻す
だけなので、基本的には同じだと思うのですが・・・。考えられるのは、改行文字を
'\n'
(シングルクォーテーションで括る)としていた、とかですかね?フォーラム: プラグイン
返信が含まれるトピック: MW WP Formの自動返信メールでチェックボックスで複数選択された場合の値を改行したい解決済みなので蛇足になりますが、齟齬があるといけませんので一応補足させてください
単純にセパレーターを文字列置換するだけではダメだったのですね。
セパレーターに指定した文字を改行に置き換える、という目的のみに於いては、メール本文の文字列に対して「セパレーターを文字列置換するだけ」で良いと思います
検証はしていませんが、フィルターした関数の中でメール本文内のセパレーター文字を置換した上で
$Mail->body
に戻してあげれば反映されるはずですただ、選択項目ではないフィールド(textやtextarea等)の値やその他の本文内にセパレーターと同じ文字列が含まれていた場合を考慮して、提示したようなコードにしました
- この返信は7年、 10ヶ月前にColorful-life.が編集しました。
フォーラム: プラグイン
返信が含まれるトピック: MW WP Formの自動返信メールでチェックボックスで複数選択された場合の値を改行したいこんにちは
先ほど返信がコード部分が長かったからなのか承認待ちになってしまいましたので、
コード部分をPASTEBINに貼り付けた上で再返信します送信されるメールの本文内だけで有効になれば良いのでしたら、
自動返信メールならmwform_auto_mail_mw-wp-form-xxx
フィルター、
管理者宛メールならmwform_admin_mail_mw-wp-form-xxx
フィルターで実現可能だと思います文章で説明しようと思うと難しかったので、コードを書いてみました、ご参考まで
※ メール本文内でセパレーターが改行される事までは確認しましたが、(その他の部分への影響などは確認していないので)実際に使用なさる場合は、ご自身で書いたコードと同様に動作確認をお願いしますフォーラム: 使い方全般
返信が含まれるトピック: jetpackのsharing.cssを無効にしたいですこんばんは
当方の環境では、
wp_print_styles
アクションにフックした関数内(functions.php)に、
wp_dequeue_style( 'sharedaddy' )
でcssへのリンクが書き出されないようになりました。
ただ、これ、現在は非推奨みたいなので、ご参考まで。。。[追記]
非推奨のフックをご紹介したままでは何ですので少し調べてみましたちょっと古い投稿で検証もしていないのですが、
wp_head
にフックしてdequeueできるみたいです
https://github.com/Automattic/jetpack/issues/2321- この返信は7年、 10ヶ月前にColorful-life.が編集しました。
- この返信は7年、 10ヶ月前にColorful-life.が編集しました。理由: 補足追加
フォーラム: 使い方全般
返信が含まれるトピック: フィルターフックで投稿本文を置換する方法を教えてください。解決済みなので、蛇足になってしまいますが…
ですが教えていただいたコードを記述すると、なぜか投稿本文が表示されなくなってしまいます。その理由は分かりません。
4. への回答として提示したコードですが、
@echizenya 様のご提示されたコードへの補足なので、冒頭の2行を省略してしまっています、分かりにくくて申し訳ございません投稿本文が表示されなくなる理由としては、グローバルに
$content
が無いので、カラの文字列が返るからですね(グローバルの$contentを参照するので、変数が未定義であるエラーは出ませんが)
正しくは、下記の通りです$contents = get_post(1); $content = $contents->post_content; add_filter( 'the_content', function() { global $content; // グローバル変数を参照 return str_replace ('Welcome', 'ようこそ', $content); } );
また、こちらのコードは、ご認識の通り、
またこの書き方で通ったとしても、p=1の記事の「Welcome」は「ようこそ」に置換されても、他のページでは置換されません。
となり、全ての投稿で、p=1の記事の本文が表示されてしまいますので、あくまでも参考として、です
フォーラム: 使い方全般
返信が含まれるトピック: フィルターフックで投稿本文を置換する方法を教えてください。こんにちは
the_content
フィルターにフックした関数に$content
引数が無いのが原因だと思います
(関数内のスコープで$content
が定義されていない)add_filter( 'the_content', function($content) { return str_replace ('Welcome', 'ようこそ', $content); } );
で如何でしょう。
また、4. ですが、結局、関数内のスコープでは
$content
が定義されていませんので、
グローバルスコープの変数を参照する為に、関数内でglobal $content
とグローバル宣言を行う必要があると思います。add_filter( 'the_content', function() { global $content; // グローバル変数を参照 return str_replace ('Welcome', 'ようこそ', $content); } );
- この返信は7年、 10ヶ月前にColorful-life.が編集しました。理由: 補足追加
フォーラム: 使い方全般
返信が含まれるトピック: 変な線▼▼▼が表示されてしまうようになりました。トップと記事画面の両方ですカスタムCSSは管理画面の「外観」→「カスタマイズ」→「追加CSS」からですね
ちょっと見た感じでは不要そうなので、該当部分を一旦コメントアウトする感じでどうでしょう?
/* :before { content: ""; position: absolute; top: 100%; height: 0; width: 0; border: 5px solid transparent; border-top: 5px solid #333; } */
あと、今回の事象には直接関係ないですが、クラスが指定されていない:after疑似クラスもあるので、こちらもコメントアウト(不要なら削除)しておいた方が良いかもしれません
/* :after { left: 0; border-right: 5px solid #333; } */
フォーラム: 使い方全般
返信が含まれるトピック: 変な線▼▼▼が表示されてしまうようになりました。トップと記事画面の両方ですこんにちは
カスタムCSSで、一カ所クラスが指定されていない
:before
疑似クラスがあるようなので、これが原因と思います.simple2:before { right: 0; border-left: 5px solid #333; } :before { content: ""; position: absolute; top: 100%; height: 0; width: 0; border: 5px solid transparent; border-top: 5px solid #333; }
フォーラム: プラグイン
返信が含まれるトピック: Smart Custom Fieldsでカテゴリ画像の表示ができないこんにちは
もう少し詳細をご提示なさると回答も得られやすいと思いますよ
- どんな実装をしたか(どのファイルにどんなコードを書いたか)
- 「うまくいかない」とは具体的にどうなっているのか
- 書き出されたhtmlはどの様になっているか、またご自身の意図とどう異なっているのか
- エラーが出ていないか(出ているならエラー文をそのまま)
と、それだけでは何ですので、
http://kotori-blog.com/wordpress/cat_customfields/
こちらの記事のcategory.phpで現在表示しているカテゴリの画像を表示する場合
のコードの内、
$img
を取得するまでの部分を Smart Custom Fields のメソッドに置き換えてみましたのでご参考まで。$cat_id = get_queried_object()->cat_ID; $taxonomy = 'category'; $catimg = SCF::get_term_meta( $cat_id, $taxonomy, 'catimg' ); $img = wp_get_attachment_image_src($catimg, 'full');
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したいあと、補足として・・・
特定の条件で分岐する部分は後で書くとして
との事でしたので、コードをご覧いただければ何をしているのか(条件分岐など)はある程度ご理解いただける物と思い、説明など(コードの条件判定も)はしょっている部分があります
// 以降、必要な処理を
から下の行が実行される条件は以下になります。・(管理画面では無い)投稿タイプhogehogeのシングルページをリクエストした場合(post_statusによる条件判定は入っていない)
※ 非公開のページがリクエストされる事自体が希(管理画面から投稿を表示した場合等)だとは思いますが、確認用のコードなのだろうという認識ですフォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したい$my_blog_post = array('id' => $post_id, 'post_status' => 'publish');
この配列のキー
id
は大文字ID
である必要があると思いますまずは
post_status
の変更が可能か確認したいという意図でのご相談だとは思うのですが、
@latobeam様が仰るように、非公開の記事を公開状態にする為の要件定義をはっきりさせたほうが良いかもしれませんねフォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したいごめんなさい、やっぱり私の書いたコード全然間違ってました。
$query->get_queried_object()
ではWP_Post
は取得出来ないです一応訂正しておくと、こんな感じかと。。。
function blog_post_publish( $query ) { if ( false === is_admin() && true === $query->is_main_query() && true === $query->is_single() ) { if ( true === isset($query->query_vars['post_type']) && 'hogehoge' === $query->query_vars['post_type'] && true === isset($query->query_vars['name']) ) { $post = get_page_by_path($query->query_vars['name'], 'OBJECT', $query->query_vars['post_type']); if ( true === empty($post) ) return; // 以降、必要な処理を } } }
フォーラム: 使い方全般
返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したいこんにちは
条件判定の
$post->get_post_status()
となっている部分は、get_post_status($post)
じゃないでしょうか?あと、
pre_get_posts
でフックした関数の第一引数はWP_Query
なので、このままでは動かないですね実装する際にも
pre_get_posts
を使うなら、こんな感じでしょうか?function blog_post_publish( $query ) { if ( true === $query->is_main_query() ) { $post = $query->get_queried_object(); if ( false === $post instanceof WP_Post ) return // 以降、必要な処理を } }
未検証な上、かなり適当な条件判定なので、詳細はcodexをご参照ください。。。
- この返信は7年、 10ヶ月前にColorful-life.が編集しました。理由: 補足追加
- この返信は7年、 10ヶ月前にColorful-life.が編集しました。
フォーラム: プラグイン
返信が含まれるトピック: MW WP Form カスタムフィールドの画像をフォームに引き渡すすみません、少し説明不足でしたね。
フォームを設置したページ自体のプロパティ(タイトルやカスタムフィールドなど)を渡す場合は、
「URL引数を有効にする」のチェックをオフにする必要がある様です。これをオフにすると、
?post_id=**
のクエリは無視されるようになってしまいますが、
(マニュアルにある内容と違うので作者様が意図された動作なのかは不明ですが、)これをオフにしないと設置ページのプロパティは取得出来ないようです。フォーラム: プラグイン
返信が含まれるトピック: MW WP Form カスタムフィールドの画像をフォームに引き渡す[mwform_text name="商品名" value="{post_title}"]
が動作しないようです。とは、具体的にどうなっていますでしょうか?
a) テキストフィールドが出力されない
b) テキストフィールドの初期値がカラの状態(post_titleが反映されていない)
c) そもそも、フォーム全体が表示されないa)の場合は、ショートコードを記述する場所がおかしい可能性があります、
フォームの編集画面にて記述されていますでしょうか?b)の場合は、以下の2点を確認してください。
・フォーム編集画面の「設定」メタボックス内、「URL引数を有効にする」のチェックはオフになっているか
・フォームを設置した投稿タイプ「product」の投稿にタイトルが設定されているか
※ 例として投稿タイトルをテキストフィールドの初期値として設定するショートコードを書きましたが、製品名が設定されているのが「product」のカスタムフィールドであれば、post_title
の代わりに、そのフィールド名を記述してください。