我正在尝试使用Ajax更新Wordpress中的自定义域(例如,使用表单文本输入,通过单击按钮替换自定义域文本)。我正在使用高级自定义字段插件,并遵循我在这里找到的示例,但这似乎不起作用:https://support.advancedcustomfields.com/forums/topic/use-update_field-with-ajax/
我所做的是:
(1)将html表单添加到我的single-(post-type).php中
<form id="test-form" action="">
<input type="text" name="input-test" value="<?php the_field('field-name'); ?>">
<input type="submit" value="Update">
</form>
(2)functions.php中的update_field函数(这是一个ACF函数)
function test_function() {
$input_test = $_POST['input-test'];
if (!isset($input_test) || $input_test == "") { $input_test = "Fall Back"; }
update_field('field-name', $input_test);
wp_die();
}
add_action( 'wp_ajax_nopriv_test_function', 'test_function' );
add_action( 'wp_ajax_test_function','test_function' );
(3)在functions.php中对Js脚本进行排队
function theme_scripts() {
wp_enqueue_script( 'functionality', get_template_directory_uri() . '/js/functionality.js', array ( 'jquery' ), 1.1, true);
wp_localize_script('functionality', 'MyAjax',
array(
'ajaxurl' => admin_url('admin-ajax.php'),
'postCommentNonce' => wp_create_nonce('myajax-post-comment-nonce')
)
);
}
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
(3)创建Javascript文件js/functionality.js
jQuery(document).ready(function() {
var ajaxurl = 'http://'+window.location.host+'/wp-admin/admin-ajax.php';
var form = "#test-form";
jQuery(form).submit(function(event) {
event.preventDefault();
jQuery.ajax({
url: ajaxurl + "?action=test_function",
type: 'post',
data: jQuery(form).serialize(),
success: function(data) {
console.log("SUCCESS!");
},
error: function(data) {
console.log("FAILURE");
}
});
});
});
不知道我缺少了什么,因为我对Ajax很陌生。我只是得到‘成功’但领域没有得到更新。我也尝试了https://www.youtube.com/watch?v=z0jw226qkam中显示的一个变体,得到了相同的结果。
只需将success
回调更新为如下所示,它就会工作:
...
success: function(data) {
console.log("SUCCESS!");
$('name="input-test"').val(data)
},
...
我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态
我正在为Post类型Post创建自定义endpoint。Javascript的请求工作正常,但无法理解如何更新,例如,帖子的内容。 我已经创建并注册了一个路由,我为路由创建了一个回调函数,我还创建了一种小表单,在其中插入了post ID和内容。 这是路由的代码 这是回调函数 来自 javascript 的 XMLHTTPRrequest 是 变量“内容”和“id”是我写在表单字段内的值。 resp
问题内容: 我将一个自定义字段添加到名为的表中,这样可以在注册过程中将数据获取到配置文件中,如下所示: 但是,现在,我希望能够在管理个人资料时对其进行更新,但是似乎找不到一种方法来进行更新。 我是否需要自己更新表?如果没有,执行此操作的适当方法是什么? 仅供参考,以防万一,我将Dapper用作数据访问层。但是,如前所述,如果我要这样做的话,我只能通过Dapper更新表,我只是觉得类或类似的东西已经
我可以使用自定义字段值获取数据吗?我的是,字段名是。那么,如何使用获取所有数据呢? 代码如下: 此代码不起作用。
我试图将我的程序转换为 GUI。我有 2 个主题类型的自定义数组列表 (b 我可以通过ArrayList b=B.get核心()调用这个自定义数组列表;我如何让这个数组列表在我的Jlist中显示。我也试图将JList类型更改为主题,但没有成功。 如何更新JList以在按钮单击事件中显示每个列表。
我使用Wordpress Rest API将内容从WordPres斯网站导入到PHP应用程序中。这并不复杂,只是一个包含帖子列表和个人帖子页面的主页。 我在API响应中添加了一些字段,特别是获取帖子中插入的第一张图片的url的字段。 这是该部分的代码: 当我在主页中列出帖子时,它可以正常工作,但在单个帖子页面中,字段为空。对此,我唯一能给出的解释是,我有一个用于单个帖子的自定义endpoint: