Поддержка Проблемы и решения Не удаляется содержимое записи

  • Решено visajack

    (@visajack)


    При попытке очистить запись ничего не меняется:
    http://prntscr.com/fpkc2n
    Т.е. тут всё удаляю, жму «Обновить» и получаю то же, что было до «обновления»:
    http://prntscr.com/fpkcim
    http://prntscr.com/fpkcqn
    Проблема была и до 4.8, обновился, решил проверить, но ничего не изменилось.
    Никто не сталкивался? Как «победить»?

Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Просмотрел массив $_POST при помощи хука edit_post
    Если textarea class=»wp-editor-area» пустой то не передаются:
    $_POST[‘content’]
    и
    $_POST[‘post_content’]
    К тому же содержимое textarea, как я понял тримится, ибо если пишу пробел, то указанные элементы массива опять же не передаются.
    Потому ОЧЕНЬ сомневаюсь, что дело в хостинге…

    плагины отключать
    на другой темме пробовать

    Просмотрел массив $_POST
    ..
    Потому ОЧЕНЬ сомневаюсь, что дело в хостинге…

    Может стоит почитать по ссылке и увидеть про кеш-заголовки?
    Причем тут POST..

    Может стоит почитать по ссылке и увидеть про кеш-заголовки?
    Причем тут POST..

    Вот нравятся мне подобного рода ответы 🙂
    Вы по умолчанию всех за идиотов держите?
    Ясен пень, что первым делом «прочитал про заголовки», и ЯСЕН ПЕНЬ внес изменения в function.php, однако НИЧЕГО не изменилось.

    И у меня возник ВСТРЕЧНЫЙ вопрос:
    Каким образом передаются значения, измененные мной?
    И первое, что пришло на ум — проверить значение POSTa, и свои наблюдения записать в эту тему…

    Ясен пень, что первым делом «прочитал про заголовки»,

    Видимо пень, в отличии от меня, телепат. Я же читаю что написано и как-то не развидел, что «ясен пень» проверил заголовки.

    Ну по умолчанию же, если я прошу помощи, то пробую советы, которые рекомендуют. Верно?
    Хотя, думается, у Вас опыт общения с «просителями» больше.
    Тогда так:
    Да, SeVlad, я вставил код приведенный ниже в файл function.php
    http://prntscr.com/fqcmvk
    Однако это никак не повлияло на описанную мной проблему.
    Как я писал Выше:

    Просмотрел массив $_POST при помощи хука edit_post
    Если textarea class=»wp-editor-area» пустой то не передаются:
    $_POST[‘content’]
    и
    $_POST[‘post_content’]

    сам хук:

    
    function my_hook(){		
    	echo '<pre>';
    	var_dump($_POST);
    	echo '</pre>';	
    }
    add_action( 'edit_post', 'my_hook' );
    

    Как выглядит массив, если не трогаю текстареа:

    
    array(51) {
      ["_wpnonce"]=>
      string(10) "a7ed484381"
      ["_wp_http_referer"]=>
      string(49) "/wp-admin/post.php?post=120&action=edit&message=1"
      ["user_ID"]=>
      int(1)
      ["action"]=>
      string(8) "editpost"
      ["originalaction"]=>
      string(8) "editpost"
      ["post_author"]=>
      int(1)
      ["post_type"]=>
      string(5) "pizza"
      ["original_post_status"]=>
      string(7) "publish"
      ["referredby"]=>
      string(70) "http://tisapizza.visajack.pp.ua/wp-admin/post.php?post=120&action=edit"
      ["_wp_original_http_referer"]=>
      string(70) "http://tisapizza.visajack.pp.ua/wp-admin/post.php?post=120&action=edit"
      ["post_ID"]=>
      string(3) "120"
      ["meta-box-order-nonce"]=>
      string(10) "5e978202ea"
      ["closedpostboxesnonce"]=>
      string(10) "391edbf858"
      ["post_title"]=>
      string(20) "Мисливська"
      ["samplepermalinknonce"]=>
      string(10) "b24050e688"
      ["content"]=>
      string(30) "Это текст записи"
      ["hidden_post_status"]=>
      string(7) "publish"
      ["post_status"]=>
      string(7) "publish"
      ["hidden_post_visibility"]=>
      string(6) "public"
      ["visibility"]=>
      string(6) "public"
      ["jj"]=>
      string(2) "29"
      ["mm"]=>
      string(2) "06"
      ["aa"]=>
      string(4) "2017"
      ["hh"]=>
      string(2) "12"
      ["mn"]=>
      string(2) "41"
      ["ss"]=>
      string(2) "35"
      ["hidden_mm"]=>
      string(2) "06"
      ["cur_mm"]=>
      string(2) "07"
      ["hidden_jj"]=>
      string(2) "29"
      ["cur_jj"]=>
      string(2) "01"
      ["hidden_aa"]=>
      string(4) "2017"
      ["cur_aa"]=>
      string(4) "2017"
      ["hidden_hh"]=>
      string(2) "12"
      ["cur_hh"]=>
      string(2) "14"
      ["hidden_mn"]=>
      string(2) "41"
      ["cur_mn"]=>
      string(2) "36"
      ["original_publish"]=>
      string(14) "Оновити"
      ["save"]=>
      string(14) "Оновити"
      ["tax_input"]=>
      array(1) {
        ["components"]=>
        array(8) {
          [0]=>
          string(1) "0"
          [1]=>
          string(1) "8"
          [2]=>
          string(1) "9"
          [3]=>
          string(1) "7"
          [4]=>
          string(1) "6"
          [5]=>
          string(1) "4"
          [6]=>
          string(1) "5"
          [7]=>
          string(1) "3"
        }
      }
      ["newcomponents"]=>
      string(33) "New Составляющие Name"
      ["newcomponents_parent"]=>
      string(2) "-1"
      ["_ajax_nonce-add-components"]=>
      string(10) "df6b51259a"
      ["_thumbnail_id"]=>
      string(3) "136"
      ["_ajax_nonce-add-meta"]=>
      string(10) "7fd1fb35fe"
      ["post_name"]=>
      string(20) "мисливська"
      ["post_mime_type"]=>
      string(0) ""
      ["post_password"]=>
      string(0) ""
      ["ID"]=>
      int(120)
      ["post_content"]=>
      string(30) "Это текст записи"
      ["comment_status"]=>
      string(6) "closed"
      ["ping_status"]=>
      string(6) "closed"
    }
    

    А вот так он выглядит, если очишаю содержимое записи:

    array(47) {
      ["_wpnonce"]=>
      string(10) "a7ed484381"
      ["_wp_http_referer"]=>
      string(39) "/wp-admin/post.php?post=120&action=edit"
      ["user_ID"]=>
      int(1)
      ["action"]=>
      string(8) "editpost"
      ["originalaction"]=>
      string(8) "editpost"
      ["post_author"]=>
      int(1)
      ["post_type"]=>
      string(5) "pizza"
      ["original_post_status"]=>
      string(7) "publish"
      ["post_ID"]=>
      string(3) "120"
      ["meta-box-order-nonce"]=>
      string(10) "5e978202ea"
      ["closedpostboxesnonce"]=>
      string(10) "391edbf858"
      ["post_title"]=>
      string(20) "Мисливська"
      ["samplepermalinknonce"]=>
      string(10) "b24050e688"
      ["hidden_post_status"]=>
      string(7) "publish"
      ["post_status"]=>
      string(7) "publish"
      ["hidden_post_visibility"]=>
      string(6) "public"
      ["visibility"]=>
      string(6) "public"
      ["jj"]=>
      string(2) "29"
      ["mm"]=>
      string(2) "06"
      ["aa"]=>
      string(4) "2017"
      ["hh"]=>
      string(2) "12"
      ["mn"]=>
      string(2) "41"
      ["ss"]=>
      string(2) "35"
      ["hidden_mm"]=>
      string(2) "06"
      ["cur_mm"]=>
      string(2) "07"
      ["hidden_jj"]=>
      string(2) "29"
      ["cur_jj"]=>
      string(2) "01"
      ["hidden_aa"]=>
      string(4) "2017"
      ["cur_aa"]=>
      string(4) "2017"
      ["hidden_hh"]=>
      string(2) "12"
      ["cur_hh"]=>
      string(2) "14"
      ["hidden_mn"]=>
      string(2) "41"
      ["cur_mn"]=>
      string(2) "38"
      ["original_publish"]=>
      string(14) "Оновити"
      ["save"]=>
      string(14) "Оновити"
      ["tax_input"]=>
      array(1) {
        ["components"]=>
        array(8) {
          [0]=>
          string(1) "0"
          [1]=>
          string(1) "8"
          [2]=>
          string(1) "9"
          [3]=>
          string(1) "7"
          [4]=>
          string(1) "6"
          [5]=>
          string(1) "4"
          [6]=>
          string(1) "5"
          [7]=>
          string(1) "3"
        }
      }
      ["newcomponents"]=>
      string(33) "New Составляющие Name"
      ["newcomponents_parent"]=>
      string(2) "-1"
      ["_ajax_nonce-add-components"]=>
      string(10) "df6b51259a"
      ["_thumbnail_id"]=>
      string(3) "136"
      ["_ajax_nonce-add-meta"]=>
      string(10) "7fd1fb35fe"
      ["post_name"]=>
      string(20) "мисливська"
      ["post_mime_type"]=>
      string(0) ""
      ["post_password"]=>
      string(0) ""
      ["ID"]=>
      int(120)
      ["comment_status"]=>
      string(6) "closed"
      ["ping_status"]=>
      string(6) "closed"
    }
    

    Как видно, во втором случае отсутствует: $_POST[‘content’] и $_POST[‘post_content’]

    Следовательно вопрос:
    Может в этом дело?

    Модератор Юрий

    (@yube)

    Ну по умолчанию же, если я прошу помощи, то пробую советы, которые рекомендуют. Верно?

    Вы — не знаю, на аватаре не написано 🙂
    А в общем случае, скорее нет, чем да. Увы.

    Модератор Юрий

    (@yube)

    Повторить ситуацию не удалось. Пустой контент сохраняется не хуже непустого. Возможно, я что-то не так понял. Звыняйте. Жара, ё.

    В общем не знаю в чём именно проблема, но победил её следующим образом:

    
    function clear_post_data( $post_id, $post, $update ) {
    	if ($update) {
    		if ($post->post_content=='clear') {
    			$post->post_content = "";	
    			remove_action('save_post', 'my_save_post');   
    			wp_update_post($post);
    			add_action('save_post', 'my_save_post');	
    		}
    	}	
    }
    add_action( 'save_post', 'clear_post_data', 10, 3 );
    

    Т.е. чтобы очистить содержимое записи пишу в редакторе слово: «clear».

    • Ответ изменён 3 года назад пользователем visajack.
    • Ответ изменён 3 года назад пользователем visajack.

    я вставил код

    Вот так сразу и «вставил»? Вместо того, что бы ПРОВЕРИТЬ в prgama ли проблема. Тем более что это проще, чем получать данные из POST.
    Я бы, напр., ДО того как что-то писать в код (тут я иногда ленив 😉 ) просто бы посмотрел в базу — пишется или нет. Тем более что плагин админера (есть новый вариант плагина) у меня устанавливается всегда на время разработки.
    Да, я тоже не встречал, что бы пост/страницы не обновлялись. В тч и пустые (а они иногда ж нужны для тем и плагинов).
    Отсюда возможные виновники у Вас: плагины, тема, хостер, провайдер. И с большой долей вероятности основной виновник — это кеш. Но какой, в каком виде и где — это уже вопрос.

    Дело в том, что для того,

    что бы ПРОВЕРИТЬ в prgama ли проблема.

    нужно, как минимум, понимать что сие значит, как и для чего используется.
    А этого я не знаю, потому да, ВСТАВИЛ.
    Просто взял и ВСТАВИЛ вышеуказанный код в function.php
    Жмакнул Ctrl+F5
    Проделал операции, описанные в первом посте — проблема осталась.
    Меня, к примеру, больше бы раздражала запись вида:
    «Сделал, не помогло»
    Ибо часто следующий вопрос на это:
    «Что именно Вы сделали?»
    И вот такого рода вопросы действительно раздражают 🙂
    Потому я и полез ковыряться там, что знаю, и что могу проверить.
    И да, ничего личного, SeVlad. Абсолютно ничего личного. С чего Вы так «взъерошились» мне не понятно.
    Теперь по поводу:

    Да, я тоже не встречал, что бы пост/страницы не обновлялись.

    А я встречал не однократно. Но особо не заморачивался до недавнего момента.
    И да, хостинг везде один. (набо тем, плагинов и прочего всегда разный)
    Но вопрос в другом — что именно писать хостеру?
    «Здрасьте, у меня записи не очищаются!»
    Их ответ будет со 100% вероятностью — «Выясните причину пролемы в поддержке WP. Если дело в настройках хостинга — мы обязательно поможем»
    И это нормально. Просто им нужно понимать (как и мне) где зарыта собака, как её найти, откопать и перепрятать…

    ЗЫ. И да, проблема не решена (это для тех, кто изменил статус)
    Использован костыль, который, согласитесь, не является решением…
    ЗЗЫ. Появилось желание на голом «WP» проделать «очистку». Есть шанс на помощь? Или «обидка» закралась глубоко? 🙂

    • Ответ изменён 3 года назад пользователем visajack.

    нужно, как минимум, понимать что сие значит, как и для чего используется.

    Ну для этого есть гуглояндексы.
    Хотя в даном случае не столько нужно знать, сколько уметь посмотреть. И если Вы не знаете КАК это сделать, то можно просто спросить. А Вы проанализировали POST, дав таким образом понять, что Ваша квалификация выше уровня «посмотреть». Ну так во всяком случае понимается. Понималось.. но теперь видно. что это просто копипаст.
    Ок, посмотреть заголовки ОЧЕНЬ просто. Можно просто дать страницу в топик. Или самому посмотреть (это вообще-то для вебмастера следующий уровень после навыка посмотреть html-код страницы.) В данном случае это firebug:

    А я встречал не однократно.

    Это скорее говорит о том, что либо Вы неоднократно используете неправильные хостинги или/и неправильный набор модулей или иного ПО (может и браузер) или Ваш провайдер такой (хотя это уже и маловероятно).
    Да и первое дело проверить — внимательно выполнить инструкция по поиску виновного в пп 3-6, 8

    И да, проблема не решена (это для тех, кто изменил статус)
    Использован костыль, который, согласитесь, не является решением…

    «но победил» — разве не Вы сказали? «победил» = «решил».

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    во втором случае отсутствует: $_POST['content'] и $_POST['post_content']

    На wordpress.stackexchange.com аналогичная проблема была вызвана PHP-расширением Suhosin и решилась его отключением и переходом на CageFS.

Просмотр 15 ответов — с 1 по 15 (всего 23)
  • Тема «Не удаляется содержимое записи» закрыта для новых ответов.