Bootstrap表仅在用户登录时显示

问题描述 投票:0回答:2

我在我的一个WordPress CMS页面上使用Bootstrap Table extension。当我登录到WordPress后端并访问该页面时,表格显示就好了。但是,如果我退出并访问同一页面,则只显示表格标题,但不再设置样式,也不显示任何数据。以下是我的实施:

包含JSON文件URL的页面中的代码用于获取数据:

<table data-pagination="true" data-search="true" data-toggle="table" data-url="https://example.com/assets/maps/data/out/file.json">
    <thead>
        <tr>
            <th data-sortable="true" data-field="first_name">First Name</th>
            <th data-sortable="true" data-field="last_name">Last Name</th>
            <th data-sortable="true" data-field="org_name">Organization</th>
            <th data-sortable="true" data-field="state">State</th>
            <th data-sortable="true" data-field="country">Country</th>
            <th data-sortable="true" data-field="cert_type">Certification Type</th>
        </tr>
    </thead>
</table> 

以下是添加到头文件中以包含扩展文件的内容:

<?php if ($post->ID == 1174) { ?>                   
    <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    <link rel="stylesheet" type="text/css" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="https://example.com/assets/bootstrap-table/bootstrap-table.css">
    <script type="text/javascript" src="https://example.com/assets/bootstrap-table/bootstrap-table.js"></script>
<?php } ?>

我确保jQuery等没有冲突,只加载一次。我真的不确定问题是什么。我也没有在控制台中看到任何问题。

wordpress bootstrap-table
2个回答
0
投票

在WordPress中进行了额外的故障排除之后,我得出结论,X主题及其Cornerstone编辑器就是问题所在。为了解决这个问题,我将表格HTML从页面中取出并将其转换为functions.php文件中的函数。以下是详细信息:

将表代码作为函数移动到functions.php

function c_table() {
    return '<table data-pagination="true" data-search="true" data-toggle="table" data-url="https://example.com/assets/maps/data/out/file.json">'
            .'<thead>'
                .'<tr>'
                    .'<th data-sortable="true" data-field="first_name">First Name</th>'
                    .'<th data-sortable="true" data-field="last_name">Last Name</th>'
                    .'<th data-sortable="true" data-field="org_name">Organization</th>'
                    .'<th data-sortable="true" data-field="state">State</th>'
                    .'<th data-sortable="true" data-field="country">Country</th>'
                    .'<th data-sortable="true" data-field="cert_type">Certification Type</th>'
                .'</tr>'
            .'</thead>'
        .'</table>';
    }
add_shortcode('custom_script_c_table', 'c_table');

使用短代码

创建函数后,我使用以下短代码更新了我的页面:

[custom_script_c_table]

-1
投票

在MYJSON.com上保存您的数据子集 - 这会模拟您知道有效的链接。使用myjson.com的链接替换json的url。您也可以直接在浏览器中查看网址(“https://example.com/assets/maps/data/out/file.json”),而无需运行您的网页。这将使数据问题与可能的权限问题隔离开来。

© www.soinside.com 2019 - 2024. All rights reserved.