我有一個問題:顯示歸檔(在下拉列表)和一個頁面內類別(在下拉列表)
我有一個存檔模板頁面,並在那裏我想顯示兩個下拉菜單:歸檔和分類下拉列表,並當我點擊例如存檔爲11月份,那麼所有項目將從11月份的側面顯示,並且它也可以運行...但是,如果您選擇了一個菜單項目,則將顯示所有項目,而不僅僅是此類別的項目。
這裏是代碼:
在archives.php談到這個代碼(在這裏是正確的...我認爲):
<div id="archive-browser">
<div>
<h4>Month</h4>
<select id="month-choice">
<option val="no-choice"> — </option>
<?php wp_get_archives(array(
'type' => 'monthly',
'format' => 'option'
)); ?>
</select>
</div>
<div>
<h4>Category</h4>
<?php
wp_dropdown_categories('show_option_none= -- ');?>
</div>
</div>
<div id="archive-wrapper">
<div id="archive-pot">
</div></div>
而在其他的模板,名爲檔案的getter .PHP談到這段代碼,這裏是什麼地方的錯誤:
<?php
/*
Template Name: Archives Getter
*/
$year = htmlspecialchars(trim($_POST));
$month = htmlspecialchars(trim($_POST));
$cat = htmlspecialchars(trim($_POST));
$querystring = "year=$year&monthnum=$month&cat=$cat&posts_per_page=-1";
query_posts($querystring);
?>
<?php if (($year == '') && ($month == '') && ($cat == '-1')) { ?>
<table id="archives-table"><tr><td style='text-align: center; font-size: 15px; padding: 5px;'>Please choose from above.</td></tr></table>
<?php } else { ?>
<table id="archives-table">
<?php
if (have_posts()) : while (have_posts()) : the_post(); ?>
<tr>
<td><img src="<?php echo get_post_meta($post->ID, 'PostThumb', true); ?>" alt="" style="width: 35px;" /></td>
<td><a href='<?php the_permalink(); ?>'><?php the_title(); ?></a></td>
<td><?php comments_popup_link(' ', '1 Comment', '% Comments'); ?></td>
<td><?php the_date('m/j/Y'); ?></td>
</tr>
<?php
endwhile; else:
echo "<tr><td style='text-align: center; font-size: 15px; padding: 5px;'>Nothing found.</td></tr>";
endif;
?>
</table>
<?php } ?>
這兩者連接在一起,所以當我運行檔案模板,它從吸氣調用數據。
我認爲這個錯誤在querystring的某處...只有類別下拉菜單顯示不是帖子。謝謝你的幫助。
謝謝,但存檔下拉正常工作......然而類別下拉菜單可顯示未在她的類別後,當我在類別XY點擊。這裏是jQuery代碼,因爲它是與此和後場的名稱連接:
和後場的名字有我改變了:
$year = htmlspecialchars(trim($_POST['year_y']));
$month = htmlspecialchars(trim($_POST['month_m']));
$cat = htmlspecialchars(trim($_POST['cat_c']));
jQuery(function() {
jQuery("#archive-wrapper").height(jQuery("#archive-pot").height());
jQuery("#month-choice").change(function() {
// Update category choice dynamically
// This is much harder, needs another intermediary getter
});
jQuery("#archive-browser select").change(function() {
jQuery("#archive-pot")
.empty()
.html("<div style='text-align: center; padding: 30px;'><img src='' /></div>");
var dateArray = jQuery("#month-choice").val().split("/");
var y = dateArray[3];
var m = dateArray[4];
var c = jQuery("#cat").val();
jQuery.ajax({
url: "/archive-getter/",
dataType: "html",
type: "POST",
data: ({
"year_y": y,
"month_m" : m,
"cat_c" : c
}),
success: function(data) {
jQuery("#archive-pot").html(data);
jQuery("#archive-wrapper").animate({
height: jQuery("#archives-table tr").length * 50
});
}
});
});
});
您應該編輯您的問題或添加評論。當它不是答案時,不要將其作爲答案添加。除了我沒有更正下拉菜單之外,我更正了發佈到帖子查詢中的值,這是顯示您說的帖子不起作用的部分。我將編輯我的答案,以包含你在這裏提到的新的_post名稱 – 2012-07-15 23:59:03