繁体   English   中英

如何在单击ajax wordpress上创建子类别?

[英]How to create sub category on click ajax wordpress?

嗨,我想在ajax上创建类别wordpress。 示例我有类别A和类别B。

A类有2个孩子,B类也有2个孩子。 第一个用户必须选择类别A或类别B,选择了类别A后,该选项将更改为子类别A。

选择“子类别A”后,将为用户提供选项“子类别A”。从最后一个选项将重定向到用户选择的帖子类别列表。 在最后一页,我们输出选择的用户类别。 (如A类,A类孩子,A类孙子)

有什么建议吗?

解:

对不起,我认为标题不正确。 我在此处单击“显示子类别”时找到了解决方案

因此,我仅使用jquery隐藏并显示单击时的类别。 希望这对遇到同样问题的所有人有所帮助。

谢谢

您基本上需要两件事: wp_insert_term和一些AJAX功能

从最后一个选项将重定向到用户选择的帖子类别列表。

此时,您可以触发您的AJAX请求。 我建议您将分类术语词条作为数据属性附加到链接:

<a class="category_selection" href="#" data-taxonomy="tax_a" data-parentterm="parent_a" data-term="term_a">Cat A</a>

您可以将jQuery函数绑定到click事件:

$( document ).on( 'click', 'a.category_selection', function ( e ) {
    var data = {
                action: 'category_selection',
                term: $( this ).data( 'term' ),
                parent_term : $( this ).data( 'parentterm' ),
                taxonomy = $( this ).data( 'taxonomy' ),
                nonce: my_vars.ajax_nonce
            };
    $.ajax( {
                type: 'POST',
                url: my_vars.ajaxurl,
                data: data,
                async: true,
                success: function ( response ) {

                    // Parse response
                    var returndata = JSON.parse( response );

                    $( '.container' ).html( returndata );
                }
            } );
});

现在,您需要一个PHP回调函数,可以将其附加到action category_selection 在此功能中,您会将术语添加到类别中。

add_filter( 'wp_ajax_category_selection', 'add_term' );
add_filter( 'wp_ajax_nopriv_category_selection', 'add_term' );

function add_term() {
    check_ajax_referer( 'my_ajax', 'nonce' );
    $taxonomy = filter_input( INPUT_POST, 'taxonomy', FILTER_SANITIZE_STRING );
    // Sanitize the other input variables

    $newterm = wp_insert_term( $term, $taxonomy, array( 'parent' => $parent_term ) );

    if ( ! is_wp_error( $newterm ) ) :

        echo json_encode( array( 'Success' ) );

    endif;

    echo json_encode( array( 'Failure' ) );
    exit;
}

这应该使您大致了解如何处理它。 这并不意味着复制粘贴,因为仍然缺少某些内容,例如创建所需的AJAX my_varsmy_vars javascript对象。 您可以在上面链接的Codex文章中找到必要的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM