我正在尝试制作一个表格,您可以通过单击表格标题对其进行排序。我正在使用基于 Wordpress 以及 Genesis 框架和 Agentpress 主题的网站。表格数据直接取自站点的帖子,这些帖子属于自定义类型“列表”,由 Agentpress 子主题创建。使用下面的 php 模板,我创建了一个页面,该页面循环遍历所有类型列表的帖子,并根据该信息创建一个表。
add_filter( 'the_content', 'list_properties');
function list_properties()
$args = array(
'orderby' => "genesis_get_custom_field( '_listing_state' )",
'order' => 'DESC',
'posts_per_page'=> '250', // overrides posts per page in theme settings
'post_type' => 'listing',
);
$properties = new WP_Query( $args );
if ( $properties->have_posts() ) {
echo '<h4 style="color:#800000;text-align: center">Complete Property List</h4>';
echo '<p style="text-align:center">A list of all our for-sale inventory. For questions or to tour' .
' a property, please give us a call at <span style="color:red">866.937.3557.</span></p>';
echo '<p style="font-size:10px; display:inline; margin: 0 0 0 50px;">Click on the column headers to sort the table, and the listing' .
' address to go to the page for that listing.</p>';
echo '<table class="sortable"><tr style="color:red"><th>Address</th><th>City</th>';
echo '<th>State</th><th>County</th><th>Price</th><th>Type</th><th>Bedrooms</th><th>Bathrooms</th><th>Square Feet</th></tr>';
while ( $properties->have_posts() ) {
$properties->the_post();
$link = get_permalink();
echo '<tr><td><a style="color:red" href="'
. $link . '">' . genesis_get_custom_field( '_listing_address' ) . '</a></td>';
echo '<td>' . genesis_get_custom_field( '_listing_city' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_state' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_county' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_price' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_type' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_bedrooms' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_bathrooms' ) . '</td>';
echo '<td>' . genesis_get_custom_field( '_listing_sqft' ) . '</td</tr>';
}
echo '</table>';
} else {
echo 'no posts found!';
}
wp_reset_postdata();
}
原谅代码质量真的很差,这是一个超级粗略的草稿
上面的所有代码都可以正常工作,并根据我的需要完美地创建表格。但是,我想让它可排序,以便您可以按地址、城市或表格上的任何其他标题进行排序。我知道 php 是一种服务器端语言,我想要检测的是客户端操作。我更喜欢只涉及 html、javascript 和 php 的答案,但我很确定这实际上是不可能的。因此,由于这些是我最熟悉的语言,并且我在没有任何 SQL 查询的情况下创建了这个表,如果使表可排序需要一些 SQL,如果可能的话,我将不胜感激一些代码片段或解释。谢谢!