フォーラムへの返信

15件の返信を表示中 - 16 - 30件目 (全50件中)
  • Colorful-life.

    (@colorfullifeinfo)

    うーん…、やっている事は、
    ・メール本文内の文字列の一部(選択項目の送信された値)を取り出し
    ・その中のセパレーターを改行に置き換え
    ・メール本文に戻す
    だけなので、基本的には同じだと思うのですが・・・。

    考えられるのは、改行文字を '\n' (シングルクォーテーションで括る)としていた、とかですかね?

    Colorful-life.

    (@colorfullifeinfo)

    解決済みなので蛇足になりますが、齟齬があるといけませんので一応補足させてください

    単純にセパレーターを文字列置換するだけではダメだったのですね。

    セパレーターに指定した文字を改行に置き換える、という目的のみに於いては、メール本文の文字列に対して「セパレーターを文字列置換するだけ」で良いと思います

    検証はしていませんが、フィルターした関数の中でメール本文内のセパレーター文字を置換した上で $Mail->body に戻してあげれば反映されるはずです

    ただ、選択項目ではないフィールド(textやtextarea等)の値やその他の本文内にセパレーターと同じ文字列が含まれていた場合を考慮して、提示したようなコードにしました

    • この返信は7年、 10ヶ月前にColorful-life.が編集しました。
    Colorful-life.

    (@colorfullifeinfo)

    こんにちは

    先ほど返信がコード部分が長かったからなのか承認待ちになってしまいましたので、
    コード部分をPASTEBINに貼り付けた上で再返信します

    送信されるメールの本文内だけで有効になれば良いのでしたら、
    自動返信メールなら mwform_auto_mail_mw-wp-form-xxx フィルター、
    管理者宛メールなら mwform_admin_mail_mw-wp-form-xxx フィルターで実現可能だと思います

    文章で説明しようと思うと難しかったので、コードを書いてみました、ご参考まで
    ※ メール本文内でセパレーターが改行される事までは確認しましたが、(その他の部分への影響などは確認していないので)実際に使用なさる場合は、ご自身で書いたコードと同様に動作確認をお願いします

    https://pastebin.com/EXbyaTGk

    フォーラム: 使い方全般
    返信が含まれるトピック: jetpackのsharing.cssを無効にしたいです
    Colorful-life.

    (@colorfullifeinfo)

    こんばんは

    当方の環境では、
    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.が編集しました。理由: 補足追加
    Colorful-life.

    (@colorfullifeinfo)

    解決済みなので、蛇足になってしまいますが…

    ですが教えていただいたコードを記述すると、なぜか投稿本文が表示されなくなってしまいます。その理由は分かりません。

    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の記事の本文が表示されてしまいますので、あくまでも参考として、です

    Colorful-life.

    (@colorfullifeinfo)

    こんにちは

    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.が編集しました。理由: 補足追加
    Colorful-life.

    (@colorfullifeinfo)

    カスタム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;
    }
    */
    Colorful-life.

    (@colorfullifeinfo)

    こんにちは

    カスタム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でカテゴリ画像の表示ができない
    Colorful-life.

    (@colorfullifeinfo)

    こんにちは

    もう少し詳細をご提示なさると回答も得られやすいと思いますよ

    1. どんな実装をしたか(どのファイルにどんなコードを書いたか)
    2. 「うまくいかない」とは具体的にどうなっているのか
    • 書き出された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');
    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したい
    Colorful-life.

    (@colorfullifeinfo)

    あと、補足として・・・

    特定の条件で分岐する部分は後で書くとして

    との事でしたので、コードをご覧いただければ何をしているのか(条件分岐など)はある程度ご理解いただける物と思い、説明など(コードの条件判定も)はしょっている部分があります
    // 以降、必要な処理を から下の行が実行される条件は以下になります。

    ・(管理画面では無い)投稿タイプhogehogeのシングルページをリクエストした場合(post_statusによる条件判定は入っていない)
    ※ 非公開のページがリクエストされる事自体が希(管理画面から投稿を表示した場合等)だとは思いますが、確認用のコードなのだろうという認識です

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したい
    Colorful-life.

    (@colorfullifeinfo)

    $my_blog_post = array('id' => $post_id, 'post_status' => 'publish');

    この配列のキーidは大文字IDである必要があると思います

    まずはpost_statusの変更が可能か確認したいという意図でのご相談だとは思うのですが、
    @latobeam様が仰るように、非公開の記事を公開状態にする為の要件定義をはっきりさせたほうが良いかもしれませんね

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したい
    Colorful-life.

    (@colorfullifeinfo)

    ごめんなさい、やっぱり私の書いたコード全然間違ってました。
    $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;
    			// 以降、必要な処理を
    		}
    	}
    }
    フォーラム: 使い方全般
    返信が含まれるトピック: カスタム投稿の公開状態を自動で変更したい
    Colorful-life.

    (@colorfullifeinfo)

    こんにちは

    条件判定の $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.が編集しました。
    Colorful-life.

    (@colorfullifeinfo)

    すみません、少し説明不足でしたね。

    フォームを設置したページ自体のプロパティ(タイトルやカスタムフィールドなど)を渡す場合は、
    「URL引数を有効にする」のチェックをオフにする必要がある様です。

    これをオフにすると、?post_id=**のクエリは無視されるようになってしまいますが、
    (マニュアルにある内容と違うので作者様が意図された動作なのかは不明ですが、)これをオフにしないと設置ページのプロパティは取得出来ないようです。

    Colorful-life.

    (@colorfullifeinfo)

    [mwform_text name="商品名" value="{post_title}"]が動作しないようです。

    とは、具体的にどうなっていますでしょうか?
    a) テキストフィールドが出力されない
    b) テキストフィールドの初期値がカラの状態(post_titleが反映されていない)
    c) そもそも、フォーム全体が表示されない

    a)の場合は、ショートコードを記述する場所がおかしい可能性があります、
    フォームの編集画面にて記述されていますでしょうか?

    b)の場合は、以下の2点を確認してください。
    ・フォーム編集画面の「設定」メタボックス内、「URL引数を有効にする」のチェックはオフになっているか
    ・フォームを設置した投稿タイプ「product」の投稿にタイトルが設定されているか
    ※ 例として投稿タイトルをテキストフィールドの初期値として設定するショートコードを書きましたが、製品名が設定されているのが「product」のカスタムフィールドであれば、post_titleの代わりに、そのフィールド名を記述してください。

15件の返信を表示中 - 16 - 30件目 (全50件中)