使用AJAX时未保存自定义分类

时间:2021-08-31 作者:Maria

我正在使用ajax使用自定义分类法创建一个自定义表单来保存CPT,所有内容都保存得很好,但自定义分类法没有

我试着用我的代码只使用php和分类法保存CPT,没有任何问题

我使用的选择是

<select name="cat-servicios" class="cat-servicios">
   <option disabled value="">Seleciona una categoría</option>
   <?php foreach($terms_categorias as $term): ?>
       <option value="<?php echo esc_attr($term->slug); ?>"><?php echo esc_html($term->name); ?></option>
   <?php endforeach; ?>
</select>
在我的功能中,保存我使用的CT

    wp_set_post_terms($post_id,array($_POST[\'cat-servicios\']),\'categorias_servicios\',true);
当我做控制台的时候。值cat\\u services的日志输入正确,但仍无法保存我尝试使用的任何内容 $(\'.cat-servicios :selected\').val(); 但我也有同样的错误

$(\'#btn-click\').on(\'click\', function(){
        var cat_servicios = $(\'.cat-servicios\').find(\':selected\').val();
        console.log(cat_servicios);
        var nombre_empresa = $(\'#nombre_empresa\').val();
        var creacion_empresa = $(\'#creacion_empresa\').val();
        var nit_empresa = $(\'#nit_empresa\').val();
        var pagina_empresa = $(\'#pagina_empresa\').val();
        var no_empleados = $(\'#no_empleados\').val();
        var post_image = $(\'#post_image\').val();
        var pd_empresa = $(\'#pd_empresa\').val();
        var tempresa = $(\'#tempresa\').val();
        var cl_empresa = $(\'.cl_empresa\').val();
        var descripcion_empresa = $(\'#descripcion_empresa\').val();
        var certificaciones_empresa = $(\'#certificaciones_empresa\').val();
        var areas_empresa = $(\'#areas_empresa\').val();
        var dep_empresa = $(\'.dep-empresas:selected\').val();
        var mun_empresa = $(\'.mun-empresas:selected\').val();
        var direccion_empresa = $(\'#direccion_empresa\').val();
        var nombre_contacto = $(\'#nombre_contacto\').val();
        var correo_elec1 = $(\'#correo_elec1\').val();
        var correo_elec2 = $(\'#correo_elec2\').val();
        var nro_tlf1 = $(\'#nro_tlf1\').val();
        var nro_tlf2 = $(\'#nro_tlf2\').val();

        $.ajax({
            type:\'POST\',
            url : ajax_object.ajaxurl,
            data: {
                action:\'themedomain_post_if_submitted\',
                cat_servicios:cat_servicios,
                nombre_empresa:nombre_empresa,
                creacion_empresa:creacion_empresa,
                nit_empresa:nit_empresa,
                pagina_empresa:pagina_empresa,
                no_empleados:no_empleados,
                pd_empresa:pd_empresa,
                post_image:post_image,
                tempresa:tempresa,
                cl_empresa:cl_empresa,
                descripcion_empresa:descripcion_empresa,
                certificaciones_empresa:certificaciones_empresa,
                areas_empresa:areas_empresa,
                dep_empresa:dep_empresa,
                mun_empresa:mun_empresa,
                direccion_empresa:direccion_empresa,
                nombre_contacto:nombre_contacto,
                correo_elec1:correo_elec1,
                correo_elec2:correo_elec2,
                nro_tlf1:nro_tlf1,
                nro_tlf2:nro_tlf2,
            },   
            success: function(response){
                $(".success_msg").css("display","block");
                $("#new_post").hide();
            }, error: function(data){
                $(".error_msg").css("display","block");   
            }
        });
        
    });

1 个回复
最合适的回答,由SO网友:ZealousWeb 整理而成

您在函数中传递了错误的名称($\\u POST key)。请使用以下代码保存分类:

wp_set_post_terms($post_id,array($_POST[\'cat_servicios\']),\'categorias_servicios\',true);
你通过了cat-servicios 而不是cat_servicios

谢谢

相关推荐

我可以在WordPress的代码片段插件中使用jQuery AJAX请求吗?

我正在使用WordPress的代码片段插件发送jQuery Ajax请求,但我一直收到发布https://example.com/wp-admin/admin-ajax.php 400(错误请求)我已经尝试了似乎有一千种方法来制定Ajax请求,下面是stackoverflow、jQuery论坛、WordPress论坛中的示例,并且还在继续。总是有相同的错误。以下是我当前在代码段编辑器中拥有的内容:JavaScript codevar jq = jQuery.noConflict(); // a b