フォーラムへの返信

15件の返信を表示中 - 1 - 15件目 (全54件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: SSL化の影響 ?
    t.okubo

    (@tokubo)

    > ファイル内にそのようなタグがあるということではなく、
    > GHLにより吐き出されたタグが、
    > であるという。そういうかんじでしょうか。

    はい。
    GHLが何の略称か分かってませんが、恐らく完全な形で「<script type=’text/javascript’ src=’http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js?ver=4.7.4′></script>」という記述がテーマファイルや何らかのプラグインに記述されているわけではないと思います。

    Biz Vectorがどういう仕様になっているのか不明ですが、
    WordPressテーマでjQueryをロードする場合は通常、以下のような関数を使用します。

    wp_deregister_script( 'jquery' );
    wp_register_script( 'jquery', 'CDNなどのURL' );
    wp_enqueue_script( 'jquery' );

    これらは慣例的にテーマ内のfunctions.phpに記述されることが多いと思いますが、
    テーマの仕様や独自の修正、あるいはプラグインによって読み込まれている場合にはその限りではありません。

    フォーラム: 使い方全般
    返信が含まれるトピック: SSL化の影響 ?
    t.okubo

    (@tokubo)

    【原因と思われるもの】

    PCのGoogle Chromeで該当サイトを確認してみましたが、jQueryが正常に読み込めていないようです。

    恐らく、グローバルメニューの開閉にjQueryを利用しているため、jQueryがロードされないのが原因となってスマホなどで正常に機能しないのだと思います。

    Google Chromeのデベロッパーツールで確認すると、
    「Mixed Content: The page at ‘https://tsurumaki-office.com/&#8217; was loaded over HTTPS, but requested an insecure script ‘http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js?ver=4.7.4&#8217;. This request has been blocked; the content must be served over HTTPS.」
    というエラーメッセージが表示され、これはようするにhttpsの環境からhttpのコンテンツをリクエストしようとしたから遮断しましたよという事です。

    該当するjQueryの読み込み部分は生成されたHTMLのソースで言うと78行目の以下の記述です。

    <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js?ver=4.7.4'></script>

    上記のjQueryはWordPressに内蔵されているjQuery(wp-includes/js/jquery/)ではなく、GoogleのCDNのものが読み込まれているので、恐らくテーマのfunctions.phpか動作中の何らかのプラグイン等によって読み込まれていのではないかと思います。

    【解決方法】

    WP_manabu さんに上記のjQueryの読み込みをハードコーディングした記憶があれば解決が早いと思いますが、解決方法としては上記のjQueryを読み込んでいるコードから「http:」を削除して「//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js?ver=4.7.4」という形になるように整形するか、あるいは単純にhttpではなく「https」にすればjQueryが正常にロードされるようになると思います。

    • この返信は5年前にt.okuboが編集しました。理由: 段落などを整形
    t.okubo

    (@tokubo)

    こんにちは。
    Advanced Custom Fields の Add-on である The Flexible Content Field を利用した場合の質問でしょうか?
    Flexible Content Field を利用したことがないのですが、
    「Advanced Custom Fields Repeater & Flexible Content Fields Collapser」という、カラムの入れ替えと最小化のプラグインがあるようなので忘備録として載せておきます。
    https://ja.wordpress.org/plugins/advanced-custom-field-repeater-collapser/

    上記のプラグインは長期間メンテナンスされていないようですが、最近、開発を引き継いでくれる人が現れたみたいですね。
    Repeater field はよく使うので、同様の処理を行う時は Repeater field の中に Repeater field を突っ込んでいましたが、これで上手くいくと超便利ですね。

    フォーラム: プラグイン
    返信が含まれるトピック: 会員登録プラグインの勧めを教えてください。
    t.okubo

    (@tokubo)

    そうですね、そのような用途だと、

    ・ユーザの新規登録
    ・ログイン
    ・ユーザー情報の編集
    ・パスワードリセット

    などの機能が必要になるため、コンタクトフォームでは対応できないと思います。

    WordPressには上記の機能が全て標準で備わっているので、
    適切な権限を与えてユーザーに管理画面にログインしてもらえば事足りるのですが、
    フロントエンドとの整合性を考える場合は会員制サイト構築用のプラグインを導入したほうがいいかもしれません。

    無料で比較的ポピュラーなプラグインだと wp-members があります。
    https://wordpress.org/support/view/plugin-reviews/wp-members

    注意点としてはデフォルトでは日本語ファイルが含まれていないため、
    一部のエラーメッセージなどが英語で出力されます。
    有志の方が言語ファイルを提供してくれていますが、アップデートには注意が必要です。
    【2015年版】WP-Membersの日本語化ファイルを配布

    退会については wp-members の標準機能に含まれていないと思うので、
    別途、「Delete Me」や「Never Let Me Go」といったプラグインと組み合わせないといけないと思います。
    ただ、紹介しておいてなんですが wp-members と組み合わせられるかどうか不明です。
    すみません。

    ユーザーの総数によると思いますが、退会処理は無理に自動化せず、
    ユーザーごとにお問い合わせがあった場合に対応するという運用もありなのではないかと調子のいいことを考えてますがいかがでしょうか。

    フォーラム: プラグイン
    返信が含まれるトピック: 会員登録プラグインの勧めを教えてください。
    t.okubo

    (@tokubo)

    単純にお客様の情報を取得したいという用途であれば、
    MW WP Form プラグインなど、コンタクトフォーム用のプラグインを使って会員登録フォームを作ってみてはどうでしょうか?
    https://wordpress.org/plugins/mw-wp-form/

    お客様に会員登録フォームで必要事項を入力してもらえば、
    メールで受け取ることも、あとあと管理画面からcsvでダウンロードすることもできます。

    あるいはWordPressのプラグインではありませんが、
    Googleフォームでも同様のことが可能です。
    https://www.google.com/intl/ja_jp/forms/about/

    t.okubo

    (@tokubo)

    これはプラグインの Advanced Custom Fields(以下、ACF) を用いた場合の質問でしょうか?
    セレクタの指定が「.field_key-field_~」というACFを有効化した場合に出力されるクラス名に類似しているため、ACFを有効化していることを前提にして話をすすめると、
    ACFには条件判定(Conditional Logic)という機能が備わっており、カスタムフィールドの設定画面で条件判定で「はい」を選択すると、そのカスタムフィールドを表示する条件を設定することができます。

    参考URL:
    http://www.advancedcustomfields.com/resources/field-settings/

    今回の場合、ACFの設定画面でパターン1〜3を選択できるセレクトボックスのカスタムフィールドと項目1〜3のカスタムフィールドを用意し、項目1〜3のカスタムフィールドはそれぞれ必須と条件判定を「はい」に設定し、条件判定の内容としてはセレクトボックスのカスタムフィールドがパターン1の時、2の時、3の時という条件をそれぞれの項目に設定する事で目的の動作になるのではないかと思います。

    ちなみにcustom.jsのコードはパッと見た限り特に問題無いように見えますね、、、
    changeイベントが上手く働いて無いのでしょうか。

    フォーラム: 使い方全般
    返信が含まれるトピック: Fatal errorによりログインできません

    サーバーのPHPのバージョンが変更されたのではないでしょうか。
    エラーメッセージを見る限りでは「semisecure-login-reimagined」というプラグインに含まれるコードが引っかかっているようなので、このプラグインのフォルダ名を一旦変更するか削除するなどしてプラグインを無効化すればとりあえずログイン出来るようになると思います。

    こんにちは。
    current_user_can() などの関数でログイン中のユーザーの権限を取得後、
    条件分岐してあげれば出来そうな気がします。

    function example_add_contact_methods( $contactmethods ) {
      //投稿者以上の権限を持つユーザーの時のみ表示
      if( current_user_can( 'edit_posts' ) ){
        $contactmethods['user_company'] = '法人名';
      }
      return $contactmethods;
    }
    add_filter('user_contactmethods', 'example_add_contact_methods');

    各権限は以下のCodexを参照して下さい。
    Roles and Capabilities

    フォーラム: 使い方全般
    返信が含まれるトピック: フレーム解除問題

    WP Copyright Protection というプラグインを有効化していませんか?
    https://wordpress.org/plugins/wp-copyright-protection/

    以下のsvnで上記プラグインのコードを確認すると、
    該当のコードがそのまま含まれているようなので、
    有効化しているようならそのプラグインが原因だと思います。
    http://plugins.svn.wordpress.org/wp-copyright-protection/trunk/wp-copyright-protection.php

    フォーラム: 使い方全般
    返信が含まれるトピック: 会員が商品を登録するECサイト構築

    単なる考え方の記述なんですが、
    Welcartユーザーでログインしているか判定した後、Welcartの商品登録クラスまたは関数をフックする(可能な場合) or 改良した商品登録関数を使うようにすればWelcartユーザーが商品登録を行えるようになると思います。

    ただ、Welcartユーザーでログインしているかどうかというのは恐らく簡単に判定出来ると思いますが、商品登録クラスや関数を改良するのは商品登録がどのように行われているのかというフローを追わないといけないので結構骨が折れると思います。

    セキュリティ面だけを考慮してもWelcartユーザーが単純になんでも商品登録出来るというのも後々問題になってきそうですし、承認制にするとかシステムでカバーするものと運用で何とかするものを考える必要もありそうです。

    すごく身もふたもない話ですが、業務で必要な場合はWelcartの場合は法人がサポートしてるので一度相談してみると良いかもしれません。
    http://www.welcart.com/wc_nav/

    フォーラム: 使い方全般
    返信が含まれるトピック: 外部投稿でりロード時の二重投稿を防ぐために

    header関数で飛ばしてしまってはどうでしょう。
    以下コード例。

    [index.php]

    <?php
    session_start();
    if($_POST['title'] && $_POST['message'] && $_SESSION['lc'] === $_POST['lc']){
      /*
        パラメータを検証して問題なければwp_insert_post等で登録処理を行う。
        ...
        登録処理が完了。
      */
      unset($_SESSION['lc']);
      header("Location: index.php?state=ok");
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8" />
      <title>二重送信防止</title>
    </head>
    <body>
      <?php if($_GET['state'] === 'ok'): ?><p>登録しました。</p><?php endif; ?>
      <form action="index.php" method="post">
        <p><label for="title">タイトル:</label><br /><input type="text" name="title" value="" /></p>
        <p><label for="message">メッセージ:</label><br /><textarea name="message"></textarea></p>
        <?php $_SESSION['lc'] = uniqid(); ?>
        <input type= "hidden" name="lc" value="<?php echo htmlspecialchars($_SESSION['lc'], ENT_QUOTES); ?>">
        <input type="submit" value="送信" />
      </form>
    </body>
    </html>

    便宜上、PHPのheader関数で飛ばしていますが、WordPressにはwp_redirectというリダイレクト用の関数があるため、余裕がある場合はwp_redirect関数の使い方を調べて(すげー簡単ですが)使ってみてはどうかと思います。
    また、上記のコード例だと若干意味合いの異なる使い方をしていますが、lcパラメータに相当するトークンの生成にも、WordPressが提供するwp_nonce_fieldというCSRF対策用のトークン生成関数が用意されているので、こちらも余裕があったら使って下さい。

    フォーラム: 使い方全般
    返信が含まれるトピック: カスタムフィールドのメール投稿

    未検証でかつ最終更新日が2年前なので、動作するか分かりませんが以下のプラグインはどうでしょうか?
    http://wordpress.org/plugins/text-to-custom-field/

    このプラグインを使うと本文中に以下のようなショートコード風の構文を入力する事でカスタムフィールドを挿入する事が出来るようです。

    {cf カスタムフィールド名=値}

    単純に各記事に共通のタグ、またはカテゴリを付けて投稿してはどうでしょう?

    一般の訪問者が閲覧する場合は各記事に付けた共通タグ・カテゴリのページを開けばまとめて閲覧出来ます。
    使用しているテーマによりますが、カスタムメニューが編集出来るようなら特定のタグやカテゴリページに対して固定ページのようにリンクメニューを追加する事もできます。

    フォーラム: 使い方全般
    返信が含まれるトピック: 不正なURLが補正され固定ページに移動してしまう

    これはWordPressの標準URL(カノニカルURL)という欠損したURLの補正というか、標準化の機能に引っかかってしまっているのでは無いかと思います。

    非常に便利な機能なのですが、停止したい場合は
    以下のコードをテーマの functions.php に記述すればリダイレクトされなくなると思います。

    remove_filter('template_redirect', 'redirect_canonical');

    参考:http://www.betterinfo.in/disable-wordpress-url-or-auto-redirect/

    あるいは全く更新されていないようですが以下のプラグインでも対応出来るかもしれません。
    http://wordpress.org/plugins/disable-canonical-url-redirects/

15件の返信を表示中 - 1 - 15件目 (全54件中)