Intereting Posts
Интернационализация и функции, которые ее используют Фильтр the_content (), чтобы добавить собственные фигурные теги После изменения параметров плагина могут ли члены иметь множественную регистрацию с использованием того же пароля? Как иметь глобальную корзину покупок на нескольких сайтах, несколько поддоменов Отладка, почему избранные изображения перестали отображаться в WooCommerce на главной странице проблемы с перенаправлением многостраничного текстового пресса и наличие разных файлов роботов Страница отображается в поле post Как я могу получить все пользовательские параметры? Избранные изображения Невозможно работать с Ajax и Modal Bootstrap Как отфильтровать запрос по дате в коротком коде? Вывод матча REST API из пользовательской конечной точки Пользовательский вид дерева таксономии Как установить черновик страницы как родителя без публикации?

Запуск цикла пользовательских типов сообщений с помощью AJAX

У меня есть функция, которая получает список имен CPT, и мне нужно называть ее на передней панели кликом и прикреплять ее к контейнеру с помощью ajax

add_action('wp_ajax_nopriv_get_structure_cp_list', 'get_structure_cp_list'); add_action('wp_ajax_get_structure_cp_list', 'get_structure_cp_list'); function get_structure_cp_list() { $args = array( 'public' => true, '_builtin' => false, ); $output = 'names'; // names or objects, note names is the default $operator = 'and'; // 'and' or 'or' $post_types = get_post_types( $args, $output, $operator ); $post_types_array = array(); foreach ( $post_types as $post_type ) { $post_types_array[] = $post_type; } $excluded_post_types = array("give_forms", "article", "structure", "links"); $post_types_array = array_diff($post_types_array, $excluded_post_types); foreach ( $post_types_array as $post_type ) { echo '<li>' . $post_type . '</li>'; } } add_action( 'wp_enqueue_scripts', 'wpa56346_scripts', 100 ); function wpa56346_scripts() { global $post; if (is_singular( 'structure' )) { if ( is_user_logged_in() ) { $user = wp_get_current_user(); if (user_can( $user, 'edit_posts')) { wp_enqueue_script( 'wpa56346_script', get_template_directory_uri() . '/core/js/structure.js?ver=1.0', array( 'jquery' ), null, false ); } } } wp_localize_script( 'wpa56346_script', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'we_value' => 1234 ) ); } jQuery( document ).ready(function($) { $(".create-btn .create").click( function() { $("#container").append("<div id='structure-form'></div>"); $.ajax({ type: 'GET', url: 'ajax_object.ajax_url', data: { action : 'get_structure_cp_list' }, success: function(data){ $data = $(data); alert('yes'); $( '#structure-form' ).html( $data ); } }); }); }); 

Какой самый чистый способ достичь этого? Мой код явно искажен.

Solutions Collecting From Web of "Запуск цикла пользовательских типов сообщений с помощью AJAX"