我在functions.php
文件上创建了一个函数,该函数从数据库中的表中检索数据并将其放在HTML
内。
我的问题是我需要设置此表,其列和行的样式以设置边距,填充等。
这是我到目前为止所做的:
add_shortcode( 'persona-table', 'persona_table_shortcode' );
// this function generates the shortcode output
function persona_table_shortcode( $args ) {
global $wpdb;
// Shortcodes RETURN content, so store in a variable to return
$content = '<table class="tabledatos">';
$content .= '<tr><th>Firstname</th><th>Lastname</th><th>Points</th></tr>';
$results = $wpdb->get_results( 'SELECT * FROM persona' );
foreach ( $results AS $row ) {
$content = '<tr>';
// Modify these to match the database structure
$content .= '<td class=rowtable>' . $row->ID_per . '</td>';
$content .= '<td class=rowtable>' . $row->nombre . '</td>';
$content .= '<td class=rowtable>' . $row->apellido . '</td>';
$content .= '<td class=rowtable>' . $row->documento . '</td>';
$content .= '<td class=rowtable>' . $row->tel. '</td>';
$content .= '<tr>';
}
$content .= '</table>';
// return the table
return $content;
}
正如您在每个<td>
上看到的那样,我添加了一个名为rowtable
的类,但是当我刷新页面时,表不会对该类进行样式定义。另外,我试着在整个表的tabledatos
课上看到引号,但这不起作用。
如何在此代码中添加类,以便我可以在style.css
文件中自定义它们?
先谢谢
答案 0 :(得分:0)
我不能完全回答你的问题(遗憾的是)我对PHP
并不是那么好,但也许我可以帮你找到答案。
首先,如果您的网页上包含CSS
文件并且您的桌子上有课程,您是否已经(使用浏览器的工具)进行了检查?如果还没有,你应该立即检查。如果表没有此类,请尝试手动添加(使用浏览器的工具)并查看表是否已更新。
如果第一步没有奏效,还有另一种方法可以为您的对象添加类。您可以使用成员函数JavaScript
.addClass("tabledatos");
向对象添加类
希望你能在我的评论中找到一些有趣的东西
答案 1 :(得分:0)
首先,包含内容的HTML属性始终需要引号,因此您的行应如下所示:$content .= '<td class="rowtable">' . $row->ID_per . '</td>';
如果要将类添加到td
,则应验证样式表是否按预期加载并检查浏览器的开发工具。
此处$content = '<tr>';
您重新分配您的变量,这意味着您之前的内容会被刷新,而且您的foreach中的每个项目都会被刷新