Запись в файл не работает в functions.php - Wordpress - PullRequest
0 голосов
/ 25 июня 2019

Я хочу создать функцию в Wordpress, которая будет записывать заголовок самой новой записи в файл, но не может найти работающую комбинацию кода.Правильный ли крюк?Что я делаю неправильно?Файл находится в главном каталоге.

Я пытался поместить файл в другие каталоги, и все, что гугл показывал мне так: bloginfo ('template_directory')??> / New_post_check.txt

add_action('publish_post' , 'alert_new_post');

function alert_new_post(){

    $path = 'new_post_check.txt';

    file_put_contents( $path, "a" ); 
}

Нет сообщений об ошибках.

1 Ответ

0 голосов
/ 25 июня 2019

Попробуйте этот код, обратите внимание, что текстовый файл, в который выполняется запись, находится в корне установки WordPress, и он будет перезаписываться каждый раз при публикации сообщения, поэтому он будет иметь только один заголовок последнего опубликованного сообщения:

add_action('publish_post', 'alert_new_post', 10, 2);

function alert_new_post($ID, $post){ 
    $path = 'new_post_check.txt';
    file_put_contents($path, $post->post_title); 
}

Если вы хотите продолжать добавлять к списку последние добавленные в список публикации, вам сначала нужно будет прочитать ввод файла, что-то вроде этого:

add_action('publish_post', 'alert_new_post', 10, 2);

function alert_new_post($ID, $post){
    $path = 'new_post_check.txt';
    $post_titles = file_get_contents($path);
    // Append a new title to the file
    $post_titles .= $post->post_title."\n";
    file_put_contents($path, $post_titles); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...