也想出现在这里?联系我们

WordPress通过admin-ajax.php传递值创建/存入文章字段

2023.12.14 wordpress教程
  • 文章介绍
  • 升级版本
  • 评价&建议

要通过WordPress的adminajax.php文件传递值并创建或存储文章字段,您需要执行以下步骤:

  1. 创建一个WordPress插件或将以下代码添加到您的主题的functions.php文件中。
// 添加一个用于处理AJAX请求的函数
function my_custom_ajax_handler() {
    // 检查是否已登录
    if (is_user_logged_in()) {
        // 获取传递的数据
        $post_id = $_POST['post_id'];
        $field_name = $_POST['field_name'];
        $field_value = $_POST['field_value'];

        // 检查数据有效性
        if (isset($post_id) && isset($field_name) && isset($field_value)) {
            // 更新文章字段
            update_post_meta($post_id, $field_name, $field_value);
            echo '成功保存字段值!';
        } else {
            echo '缺少必要的数据!';
        }
    } else {
        echo '您需要登录才能执行此操作。';
    }

    // 确保不输出其他内容
    die();
}

// 添加一个AJAX处理程序,可以从前端调用
add_action('wp_ajax_my_custom_action', 'my_custom_ajax_handler');
add_action('wp_ajax_nopriv_my_custom_action', 'my_custom_ajax_handler');
  1. 在您的前端JavaScript中,使用jQuery或其他方式,创建一个AJAX请求来将数据发送到adminajax.php。
// 用于处理AJAX请求的JavaScript代码
jQuery(document).ready(function($) {
    // 点击按钮时触发AJAX请求
    $('#yourbuttonid').click(function() {
        var post_id = $('#postid').val(); // 获取文章ID
        var field_name = $('#fieldname').val(); // 获取字段名
        var field_value = $('#fieldvalue').val(); // 获取字段值

        // 发送AJAX请求
        $.ajax({
            type: 'POST',
            url: ajaxurl, // WordPress提供的全局变量,指向adminajax.php
            data: {
                action: 'my_custom_action', // 指定要执行的AJAX处理程序
                post_id: post_id,
                field_name: field_name,
                field_value: field_value
            },
            success: function(response) {
                // 处理AJAX响应
                alert(response);
            }
        });
    });
});

请注意:

请将上述代码中的#yourbuttonid#postid#fieldname#fieldvalue替换为您实际使用的HTML元素的ID。
请确保在WordPress加载jQuery或其他必要的JavaScript库,或者您可以在前端代码中包含它们。
代码中有一些基本的错误检查,但您可能需要根据需要进行更多的验证和安全性检查。
您需要确保用户已登录,因为只有登录用户才能执行这个操作。如果需要匿名用户也可以执行,请移除is_user_logged_in()检查。
AJAX请求的URL应该设置为ajaxurl,这是WordPress提供的全局变量,指向adminajax.php文件。

通过执行这些步骤,您可以在WordPress中使用AJAX来创建或存储文章字段值。确保适应您的具体需求和安全性要求进行必要的修改。

有用0
  • 2023.12.14初次和大家见面了!

等待您对该主题的建议

发表评论

还能输入240个字

Hi, 欢迎加入Wordpress技术交流群,带你装逼带你飞!

我要入群
也想出现在这里?联系我们
wordpress加速

我来推荐一个更牛逼的给你看看?

  • 猛戳我吧