因此,对于后置循环,$post->ID
用于获取帖子ID。
有没有办法改变"它是一个自定义" id"?
这就是我的意思:
所以,我有一个页面通过ajax传递到模板上,如下所示:
有一个名为" first.php
"。
在这个文件中,我有一个包含按钮的帖子循环:
$id = get_the_ID();
<?php echo '<button type="button" class="rh_show_image" data-post_id="' .$id. '">' ;?>
<?php echo get_post_meta($post->ID, 'rh_image', true); ?>
<?php echo '</button>';?>
此按钮包含data-post_id
,其中包含帖子ID。单击它后,将通过ajax加载second.php
:
<script>
jQuery(document).ready(function() {
jQuery('.rh_show_image').click(function(e) {
e.preventDefault();
var rh_contact_form_id = jQuery(this).data("post_id");
jQuery.ajax({
type: "GET",
url: "<?php echo admin_url('admin-ajax.php'); ?>",
dataType: 'html',
data: ({ action: 'rh_second_php', rhc_post_id: rh_contact_form_id}),
success: function(data){
jQuery('#rh_iamge_' + rh_contact_form_id).html(data);
},
error: function(data)
{
alert("Error!");
return false;
}
});
});
});
</script>
当调用second.php
时,您可以从上面的脚本中看到,帖子的post_id
已保存并解析到模板上(data: ({ action: 'rh_second_php', rhc_post_id: rh_contact_form_id}),
)
然后在second.php
中,我有以下内容:
<!--Show title-->
<?php echo get_the_title($_REQUEST['rhc_post_id']); ?>
<!--Show image-->
<div class="images">
<?php
$I_will_call_you = callme_image();
foreach ($I_will_call_you as $slideshowimage)
{
echo "<img src='{$slideshowimage}' />";
}
?>
</div>
所以,基本上,我使用$_REQUEST['rhc_post_id']
代替$post->ID
以下是问题
在second.php的image
div中,它没有显示任何图片,因为它无法识别来自post id
的{{1}}。
那么,有没有办法在$_REQUEST['rhc_post_id']
和equal
之间设置$post->ID
?
这样的事情:$_REQUEST['rhc_post_id']
= $_REQUEST['rhc_post_id']
谢谢你们!
编辑:$post->ID
div在使用post循环放置时可以正常工作,而不是通过ajax。所以,代码本身工作正常。
编辑2: second.php中的语法现在已修复