如果我理解正确,您有一个名为wp_charts
接受pramaeterdatasets
, 并且您希望创建一个新的短代码来运行数据库查询,并将查询结果嵌入为datasets
?
如果是这样的话,有几种方法可以做到这一点,但我认为最简单的方法——尤其是如果你没有写wp_charts
您自己-是创建一个新的快捷码来运行查询,然后调用wp_charts
短代码。
例如:
function my_charts_with_data_shortcode_impl($atts, $content = null) {
$sql_query = ...
$results = $wpdb->get_results($sql_query, ARRAY_A );
$datasets = [];
foreach ($results as $row) {
if (endsWith(get_site_url().\'\'.$row[\'uri\'], \'http://universitycompare.com/universities/the-uni-of-westminster/\')) {
$datasets[] = $row[\'count\'];
}
}
return do_shortcode(\'[wp_charts \'.
\'title="linechart" canvaswidth="976px" canvasheight="244px" relativewidth="4" \'.
\'width="976px" height="244px" type="line" align="alignright" \'.
\'datasets="\'. join(",",$datasets) . \'"]\');
}