コンテキストに応じて固定数の列と可変数の行を持つHTMLテーブルを呼び出すショートコードを作成しようとしています。
管理が難しく、あるいはHTMLを介して複数のテーブルを構築することさえできません。私はショートコードで固定の列と行を作成するのに問題はありませんでした。
簡単な例を使って説明します。
私は4列と1行を持つテーブルを構築すると仮定しましょう。
4列には、以下のテーブルヘッダが含まれます。
可能であれば、テーブル行に別のショートコードを作成せずに、必要に応じて行を追加できるショートコードを作成する方法(行ったことがある)。
いくつかの文字で区切られた単一の変数でデータを渡します。
[myproduct cols="name,quantity,price" data="name1,5,2.00,name2,3,3.25"]
それからそれを配列に分解して出力します。私はここでテーブルマークアップを気にする必要はありませんでしたが、あなたはアイデアを得ます:
function myproduct_func( $atts ) {
extract( shortcode_atts( array(
'cols' => 'none',
'data' => 'none',
), $atts ) );
$cols = explode(',',$cols);
$data = explode(',',$data);
$total = count($cols);
$output = "";
foreach($cols as $col):
$output .= "| {$col} ";
endforeach;
$output .= "<br>";
$counter = 1;
foreach($data as $datum):
$output .= "| {$datum} ";
if($counter%$total==0):
$output .= "<br>";
endif;
$counter++;
endforeach;
return $output;
}
add_shortcode( 'myproduct', 'myproduct_func' );