嗨,我想在ajax上创建类别wordpress。示例我有类别A和类别B。
类别A有2个孩子,类别B也有2个孩子。第一个用户必须选择类别A或类别B,选择了类别A后,该选项将更改为子类别A。
选择子类别A后,将为用户提供类别A的孙子选项。从最后一个选项将重定向到用户选择的帖子类别列表。在最后一页,我们输出选择的用户类别。 (例如A类,A类儿童,A类大儿童)
有什么建议吗?
解决方案:
对不起,我认为标题不正确。我在这里Display Child Categories on click
找到了解决方案因此,我只使用jquery来隐藏和显示单击时的类别。希望这对遇到同样问题的所有人有所帮助。
谢谢
答案 0 :(得分:1)
您基本上需要两件事:wp_insert_term和一些AJAX functionality。
从最后一个选项将重定向到用户选择的帖子类别列表。
这时,您可以触发您的AJAX请求。我建议您将分类术语词条作为data attribute附加到链接:
<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回调函数,您可以将其附加到操作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_vars
javascript对象。您可以在上面我链接的食典文章中找到必要的信息。