Ответы пользователя по тегу PHP
  • В чем ошибка у wp_insert_post?

    TMProject
    @TMProject
    Frontend developer React/Redux
    Так а что не понятно,
    Call to undefined function wp_insert_post()
    Не знает что это за функция.
    --
    Что нужно сделать:
    Локализуем параметры, подключаем скрипты
    wp_localize_script('тут handle js', 'ajax', array(
    		 'url'              => admin_url('admin-ajax.php'),
    		 'nonce'            => wp_create_nonce('ajax-custom-request'),
    	  ));


    в файле function.php регистрируем обработчик для ajax
    //ajax_init
       add_action('init', 'auth_ajax_init');
       function auth_ajax_init(){
              //для не авторизированных
    	  add_action('wp_ajax_nopriv_custom_request, 'custom_request_callback');
              //для авторизированных
    	  add_action('wp_ajax_custom_request', 'custom_request_callback');
    }


    далее сам обработчик (можно там же в файле function.php):
    function custom_request_callback(){
              //Проверяем Ajax запрос на соответствие nonce коду, если не соответствует выходим
    	  check_ajax_referer('ajax-custom-request', 'nonce_code');
    	  
              //Если проверку прошли
      
              //Здесь обрабатываем запрос, здесь доступна $_POST
    
    	  wp_die();
       }


    в js скрипте:
    let data = {
     action: 'ajax-custom-request',
     nonce_code: ajax.nonce,
     data: здесь сериализуем данные для передачи,
    };
    $.post(ajax.url, data, function(data, textStatus) {
     // здесь обработать ответ data
    }, 'json');


    https://wp-kama.ru/id_2018/ajax-v-wordpress.html
    Ответ написан
    1 комментарий
  • Как сохранить DomDocument в файл html в UTF-8?

    TMProject
    @TMProject
    Frontend developer React/Redux
    Загружаешь контент
    $dom = new DOMDocument('1.0', 'UTF-8');
    $dom->formatOutput = true;
    $content = file_get_contents($file);
    $content = mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8');
    $dom->loadHTML($content);


    Далее выпоняешь нужные действия с $dom
    Потом сохраняешь
    $dom->encoding = 'UTF-8';
    $html = $dom->saveHTML();
    file_put_contents($file, $html);
    Ответ написан
    1 комментарий