Можно ли использовать admin-ajax.php в интерфейсе?

Я использую Filter Custom Fields & Taxonomies Light . Я узнал, что использует admin-ajax.php в интерфейсе для поиска AJAX, даже не admin-ajax.php в систему.

Видеть:

https://plugins.svn.wordpress.org/filter-custom-fields-taxonomies-light/trunk/profi-search-filter.php

 add_action( 'wp_head', 'sf_head', 1 ); function sf_head(){ $settings = get_option( 'search-filter-settings' ); if( !isset( $settings['style'] ) || $settings['style'] == '' ) wp_register_style( 'sf-style', SF_URL . 'res/style.css' ); else wp_register_style( 'sf-style', SF_URL . 'res/' . $settings['style'] . '.css'); wp_enqueue_style( 'sf-style' ); wp_enqueue_script('jquery'); wp_enqueue_script('jquery-ui-slider'); wp_register_script( 'sf-script', SF_URL . 'res/sf.js' ); wp_enqueue_script( 'sf-script' ); ?> <script>var sf_ajax_root = '<?php echo admin_url('admin-ajax.php'); ?>'</script> <?php } 

Это обычный способ делать AJAX в WordPress или дыру в безопасности?

Solutions Collecting From Web of "Можно ли использовать admin-ajax.php в интерфейсе?"

См. Документацию, но не пропустите примечание 2 и следующие пункты:

  • AJAX на интерфейсе сложнее, ajaxurl не определен, поэтому вы должны называть его с помощью wp_localize_script () .
  • вы должны использовать wp_ajax_nopriv_ {действие} для не зарегистрированных пользователей
  • может быть проблема с безопасностью !!!

О третьем пункте :

Будьте осторожны, потому что вы предоставляете доступ к незарегистрированным пользователям к некоторым данным и функциям. Поэтому вам нужно спросить себя, что вы хотите сделать. Это может показаться немного слишком много, но для меня, когда я использую AJAX на интерфейсе WP, вы должны делать вещи $ _GET, только для чтения, например бесконечные прокрутки, такие как, а не удаление, создание и обновление действий.