要通过WordPress的adminajax.php传递值并创建/存入文章字段,你需要进行一些操作。首先,你需要创建一个自定义的WordPress插件或将以下代码添加到你的主题的functions.php文件中。下面是一个示例:

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

  1. 创建一个自定义插件(可选):

如果你想以插件的形式添加这个功能,可以创建一个新的插件文件,例如customajaxhandler.php,然后在插件文件中添加以下代码:

<?php
/
Plugin Name: Custom Ajax Handler
Description: Handles custom AJAX requests for creating/storing post fields.
/

// Enqueue jQuery (if not already loaded)
function enqueue_jquery() {
    wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'enqueue_jquery');

// Handle the AJAX request
function custom_ajax_handler() {
    if (isset($_POST['post_id']) && isset($_POST['custom_field_value'])) {
        $post_id = intval($_POST['post_id']);
        $custom_field_value = sanitize_text_field($_POST['custom_field_value']);

        // Update or create the custom field
        update_post_meta($post_id, 'custom_field_name', $custom_field_value);

        echo 'Success'; // You can send any response you want here
    }
    wp_die();
}

// Hook into WordPress AJAX actions
add_action('wp_ajax_custom_ajax', 'custom_ajax_handler');
add_action('wp_ajax_nopriv_custom_ajax', 'custom_ajax_handler');
?>

在这个插件中,我们首先确保jQuery已经被加载(如果没有的话),然后定义了一个名为custom_ajax_handler的函数来处理AJAX请求。这个函数检查传递的post_id和custom_field_value,并使用update_post_meta函数来更新或创建文章的自定义字段。

  1. 创建AJAX请求:

现在,你可以在你的WordPress前端页面中创建一个AJAX请求,以便将数据发送到adminajax.php。这可以通过JavaScript来实现,例如:

jQuery(document).ready(function($) {
    $('#custombutton').click(function() {
        var post_id = 123; // 替换为你要更新的文章的ID
        var custom_field_value = 'Your custom field value'; // 替换为你要保存的自定义字段的值

        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                action: 'custom_ajax',
                post_id: post_id,
                custom_field_value: custom_field_value
            },
            success: function(response) {
                console.log('Response: '  response);
                // 在这里处理成功后的操作
            }
        });
    });
});

在这个示例中,当用户点击具有custombutton ID的按钮时,将执行AJAX请求。请确保替换post_idcustom_field_value为你实际要使用的文章ID和自定义字段值。

通过这种方式,你可以通过AJAX请求将数据发送到adminajax.php,并在服务器端使用WordPress函数来更新或创建文章字段。这个示例中的响应是简单的成功消息,你可以根据需要进行扩展。