これは複雑すぎるように思えるかもしれませんが、私の目標に近づくことができます。この質問を見ました: mysql where 句の json フィールドですが、回答がありませんでした。
高度なカスタム フィールドを使用して wordpress で作業しており、データベース内の投稿を含むテーブルを含む PDF を生成する必要があります。これを実現するために fpdf を使用しました ( http://www.fpdf.org/ )。投稿のリストが長すぎて、そのためのスクリプト( http://www.fpdf.org/en/script/script14.php )がある場合、次のページにジャンプする表をpdfに表示する必要があります。
すべて正常に動作しますが、カスタム フィールドを含む列が必要であり、高度なカスタム フィールドを使用しましたが、mysql クエリの実行方法がよくわかりません (wordpress クエリを使用できず、機能しません)。前にリンクしたpdfスクリプトを使用)。必要なカスタム フィールドを照会すると、次のような json 文字列が取得されます。
a:3:{s:10:"pa_medidas";a:6:{s:4:"name";s:10:"pa_medidas";s:5:"value";s:0:"";s:8:"position";s:1:"0";s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:1;}s:12:"pa_variacion";a:6:{s:4:"name";s:12:"pa_variacion";s:5:"value";s:0:"";s:8:"position";s:1:"1";s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:1;}s:20:"pa_grupo-de-clientes";a:6:{s:4:"name";s:20:"pa_grupo-de-clientes";s:5:"value";s:0:"";s:8:"position";s:1:"2";s:10:"is_visible";i:1;s:12:"is_variation";i:1;s:11:"is_taxonomy";i:1;}}
私のpdfでは、高度なカスタムフィールドに各データの列が必要です。
これは私がpdfを生成するために使用するコードです:
$pdf = new PDF_MySQL_Table();
$title = 'Gestyre PDF';
$pdf->SetTitle($title);
$pdf->AddPage();
//First table: put all columns automatically
$query = " SELECT p.ID,
p.post_title,
pm1.meta_value AS first_field,
pm2.meta_value AS second_field,
pm3.meta_value AS third_field
FROM wp_posts p LEFT JOIN wp_postmeta pm1 ON (
pm1.post_id = p.ID AND
pm1.meta_key = 'gama'
) LEFT JOIN wp_postmeta pm2 ON (
pm2.post_id = p.ID AND
pm2.meta_key = '_product_attributes'
) LEFT JOIN wp_postmeta pm3 ON (
pm3.post_id = p.ID AND
pm3.meta_key = '_width'
)
WHERE p.post_type = 'product' and post_status = 'publish'";
$pdf->Table($query);
$pdf->AddPage();
$pdf->Output();
他にどのようにアプローチすればよいかわかりません