我正在使用wordpress version 4.9.8
和PHP 7.1.8
。
在下面您可以看到,我在帖子中添加了一个按钮。此按钮将内容插入到帖子的the_content
字段中。提交按钮后,我想刷新单个帖子页面并显示内容。
在我的代码下面找到该按钮:
add_action('media_buttons', 'add_my_media_button', 99);
function add_my_media_button()
{
$post = $GLOBALS['post_ID'];
echo "<a href='#' id='insert-my-media' data-post-id='{$post}' class='button'>Own content</a>";
}
add_action('wp_ajax_updateContent', 'updateContent');
function updateContent()
{
$post_id = intval($_POST['post_id']);
try {
$sp = new SinglePostContent();
$sp->main($post_id);
} catch (Exception $e) {
echo $e;
}
wp_die(); // this is required to terminate immediately and return a proper response
}
add_action('admin_footer', 'my_media_button_script');
function my_media_button_script()
{
?>
<script>
jQuery(document).ready(function ($) {
$('#insert-my-media').click(function () {
var post_id = $(this).attr('data-post-id');
var data = {
'action': 'updateContent',
'post_id': post_id
};
// since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
jQuery.post(ajaxurl, data, function (response) {
console.log("test12")
console.log(response);
});
});
});
</script>
<?php
}
关于如何刷新页面和显示内容的任何建议。
期待您的回复!
答案 0 :(得分:1)
在回调函数中,重新加载页面:
jQuery.post(ajaxurl, data, function (response) {
console.log("test12")
console.log(response);
location.reload();
});
答案 1 :(得分:1)
jQuery.post(ajaxurl, data, function (response) {
console.log("test12")
console.log(response);
location.reload(true);
});
在重装中使用ture
从服务器进行硬刷新重装。
或者您可以返回更新后的帖子内容,并使用html()
来替换它而无需刷新。
答案 2 :(得分:1)
像这样更改代码:
is