[ 解決済 ] ロリポップサーバーでカスタムフィールドの一覧が表示されない

VWSとは フォーラム VK Filter Search Pro [ 解決済 ] ロリポップサーバーでカスタムフィールドの一覧が表示されない

[ 解決済 ] ロリポップサーバーでカスタムフィールドの一覧が表示されない

9件の投稿を表示中 - 16 - 24件目 (全24件中)
  • 投稿者
    投稿
  • #68211

    DRILL LANCER
    モデレーター

    対馬さんのデータで引き続き検証してみます

    最近借りたものだとライトプランでもハイスピードプランでも対馬さんのデータをインポートしたところ表示されました。

    表示されたデータをエクスポートして対馬さんのサイトにインポートすると表示されなくなりました。

    どうやらサーバーもしくは MySQL のバージョンが古いのが原因かもしれませ。(最近の物だと 5.7 が採用されていました。)

    あと、$wpdb から SQL を使ってリストを構築しているので
    WordPress から SQL 文を叩くことに関して制限がかかっている可能性も否めません。

    • この返信は2年、 3ヶ月前にDRILL LANCERが編集しました。
    #68213

    DRILL LANCER 様、

    検証いただき、ありがとうございます。

    連絡させていただいた WordPress サイトで使用している MySQL データベースは以下のものです。

    データベースホスト:mysql145.phy.lolipop.lan
    データベースバージョン:5.6

    昨日、サブドメインを新規に追加して、MySQL データベースも新規に追加して、WordPress をセットアップしましたが、相変わらずカスタムフィールドの一覧が表示されませんでした。

    その新しい MySQL データベースは以下のものです。

    データベースホスト:mysql206.phy.lolipop.lan
    データベースバージョン:5.7

    ついている番号からすると、データベースホストは最新のものだと思います。
    だとすると、今回の症状の要因はサーバーなのかなと推測します。

    WordPress から SQL 文を叩くことに関して制限がかかっている可能性も否めません。

    そのサーバーで以下のプログラムが動作していて、アクションフックから SQL 文を実行することはできています。

    $result = $wpdb->query("UPDATE ".$wpdb->prefix."posts SET post_status='draft' WHERE post_type='ujs-workshop' AND post_status='publish' AND post_date<'".$datetime."'");

    cron 処理で昨日までのイベントを自動的に下書きにしている部分のプログラムです。

    #68214

    DRILL LANCER
    モデレーター

    そのサーバーで以下のプログラムが動作していて、アクションフックから SQL 文を実行することはできています。

    例のサーバーで下記コードでなにか表示されますか?
    (カスタムフィールドを作って適当にそのフィールドを設定した投稿をいくつか用意した上で)

    global $wpdb;
    $field_result = $wpdb->get_results(
    	"SELECT DISTINCT meta_key
    	FROM wp_postmeta
    	ORDER BY meta_key",
    	ARRAY_A
    );
    var_dump( $field_result );
    #68215

    そのコードをアクションフックで実行したところ、出力された HTML は

    array(0) {
    }

    となっています。

    #68217

    DRILL LANCER
    モデレーター
    global $wpdb;
    $field_result = $wpdb->get_results(
    	"SELECT DISTINCT meta_key
    	FROM wp_postmeta
    	ORDER BY meta_key",
    	ARRAY_A
    );
    var_dump( $field_result );
    

    上記コードでカスタムフィールドのリストを取得しているのでこれが動かないのが原因です。

    #68221

    たぶんこれが原因というのがわかったような…

    該当の MySQL データベースは prefix が wp_ になっていません。
    添付画像をご参照ください。

    global $wpdb;
    $field_result = $wpdb->get_results(
    	"SELECT DISTINCT meta_key
    	FROM " . $wpdb->prefix . "postmeta
    	ORDER BY meta_key",
    	ARRAY_A
    );
    var_dump( $field_result );

    に書き換えたらフィールドリストのデータが出力されました。

    • この返信は2年、 3ヶ月前に対馬 俊彦が編集しました。
    Attachments:
    You must be logged in to view attached files.
    #68225

    class-vk-filter-search-pro-block.php の該当行を

    FROM " . $wpdb->prefix . "postmeta

    と書き換えたら、カスタムフィールドの一覧が表示されるようになりましたー!!

    #68227

    DRILL LANCER
    モデレーター

    1.10.14 でそのように対応いたしました。
    ご確認にただければ幸いです。

    • この返信は2年、 3ヶ月前にDRILL LANCERが編集しました。
    #68230

    VK Filter Search Pro 1.10.14 にアップデートして、
    カスタムフィールドの一覧が表示されるようになったことを確認しました。

    どうもありがとうございました。

9件の投稿を表示中 - 16 - 24件目 (全24件中)
  • このトピックに返信するにはログインが必要です。