创建动态加载数据的页面

时间:2019-05-29 作者:M0rty

我想构建一个页面,动态地将数据加载到“分区”中,这与ebay加载其物品的方式非常相似(见下文):

enter image description here

正如你所看到的,我用红色突出显示了每个部分,在Wordpress中是否有实现这一点的方法?我目前已经安装了Elementor Pro,并希望有一个小部件可以提供此功能,但我还没有找到任何东西。

1 个回复
最合适的回答,由SO网友:majick 整理而成

您可以创建一个短代码函数用于您的内容,例如。[data-display] 您可以将其放置在自定义插件中,即子主题的函数中。php或/wp内容/mu插件/文件夹:

add_shortcode(\'data-display\', \'custom_api_data_display\');
function custom_api_data_display($atts) {

    // for whatever you API call function is
    // you may want check $_REQUEST or shortcode $atts to modify
    $args = array(\'some_key\' => \'some_value\', \'some_key2\' => \'some_value2\');
    $data = custom_api_data_request($args);

    if (count($data) > 0) {
        $html = \'<div class="result-container">\';
        foreach ($data as $result) {
            $html .= \'<div class="single-result">\';

                // output whatever data result keys you like here
                // this is just a simple example with image, title and description
                $html .= \'<img class="result-image" src="\'.$result[\'image_url\'].\'">\';
                $html .= \'<div class="result-title">\'.$result[\'title\'].\'</div>\';
                $html .= \'<div class="result-description">\'.$result[\'description\'].\'</div>\';

            $html .= \'</div>\';
        }
        $html .= \'</div>\';
    } else {
        $html = \'<p>No results found.</p>\';
    }

    return $html;
}
注意到$atts 是在内容中传递的短代码属性,例如。[data-display category="cat1"] 将给予$atts 作为的数组数据array(\'category\' => \'cat1\');

当然,您需要添加更多的层来启用搜索过滤功能,这些参数可以通过$_REQUEST

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register