在我的模板部分中,我使用的函数看起来像这样:
function job_listings($id = null) {
$output = '';
$args = array(
'post_type' => 'job-listings',
);
$loop = new WP_Query($args);
while($loop->have_posts()) {
$loop->the_post();
if($id == get_the_id()) {
$output .= '<option selected value="'.get_the_ID().'">'.get_the_title().'</option>';
} else {
$output .= '<option value="'.get_the_ID().'">'.get_the_title().'</option>';
}
}
wp_reset_postdata();
return $output;
}
...而且我一直很难意识到问题出在哪里,但是现在我看到,每次我尝试使用the_ID()
或get_the_ID()
后,ID上方的功能都会从特定功能打印ID我没有得到,因为我认为wp_reset_postdata()
正在关闭查询。
例如:
<form id="job-apply-<?php the_ID(); ?>" action="" method="post" autocomplete="off" data-url="<?php echo admin_url('admin-ajax.php'); ?>">
<div class="form-group">
<label for="full-name">Full Name:</label>
<input type="text" class="form-control form-control-lg" id="full-name">
</div>
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control form-control-lg" id="email">
</div>
<div class="form-group">
<label for="sel1">Select Position:</label>
<select class="form-control form-control-lg" id="job-position">
<?php job_listings(get_the_ID()); ?>
</select>
</div>
<div class="form-group">
<label class="control-label">Upload Resume</label>
<input type="file" class="filestyle" data-buttonText="Select a File" id="resume-<?php the_ID(); ?>">
</div>
<div class="form-group">
<label for="comment">Additional Comments:</label>
<textarea class="form-control" rows="5" id="comment"></textarea>
</div>
<button type="submit" class="btn btn-default btn-lg">Apply</button>
</form>
在form
id="job-apply-<?php the_ID(); ?>"
的ID中的像应该打印的那样显示当前帖子的ID,但是在job_listings()
{ {1}}打印上述函数查询中的最后一个ID。
任何帮助将不胜感激。
答案 0 :(得分:0)
在if语句中更改ID。将get_the_id()更改为$ loop-> ID,使用$ loop中的ID。
<asp:TextBox ID="txtCustomer" class="form-control" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvName" runat="server"
ControlToValidate="txtCustomer" ForeColor="Red"
ToolTip="Please enter name" ValidationGroup="Validate" Display="Dynamic">* Required</asp:RequiredFieldValidator>
<asp:Button ID="btnSave" CssClass="btn btn-default" runat="server" Text="Save" ToolTip="Save Record" ValidationGroup="Validate" OnClick="btnSave_Click"/>
<asp:Button ID="btnClear" CssClass="btn btn-default" runat="server" Text="Clear" ToolTip="Clear / Refresh" OnClick="btnClear_Click" />
<asp:Button ID="btnClose" CssClass="btn btn-default" runat="server" Text="Close" ToolTip="Go To Main form." OnClick="btnCancle_Click" />