0

これは複雑すぎるように思えるかもしれませんが、私の目標に近づくことができます。この質問を見ました: 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();

他にどのようにアプローチすればよいかわかりません

4

1 に答える 1