Как автоматически создавать сообщения WordPress для каждого загруженного mp3?

У меня есть сайт WordPress, и он посвящен обмену медиафайлами. Я загрузил mp3-файлы в виде альбомов и создал пост для каждого альбома. Но я хочу создать отдельный пост для каждого mp3-файла, загружаемого автоматически.

Я уже пробовал плагин mp3-to-post, но он не поддерживается последней версией wordpress, и я пытался загрузить плагин, и он не работает.


person brvnbld    schedule 05.04.2019    source источник


Ответы (1)


Используя хук do_action( 'add_attachment', $post_ID ), вы можете создать соответствующий пост. Для справки см. функцию wp_insert_post.

Чтобы сделать это, добавьте следующий фрагмент кода в functions.php вашей активной темы:

function action_add_attachment( $post_ID ) { 
    if( !$post_ID ) return;
    $attachment = get_post( $post_ID );
    // Create album post object for attachment post ID
    $attachment_post = array(
      'post_title'    => 'Album - ' . $attachment->post_title,
      'post_content'  => 'Your post content goes here',
      'post_status'   => 'publish',
      'post_author'   => $attachment->post_author
    );

    // Insert the post 
    wp_insert_post( $attachment_post );
}

add_action( 'add_attachment', 'action_add_attachment', 99 ); 
person itzmekhokan    schedule 05.04.2019
comment
где мне ввести эту команду?. и, кстати, я не загружал файлы mp3 в качестве вложений. Я загружал с помощью ftp. - person brvnbld; 06.04.2019
comment
привет, ицмехокан. как мне это реализовать, есть ли какие-нибудь туториалы по этому поводу? - person brvnbld; 07.07.2019
comment
@brvnbld, я только что обновил приведенный выше ответ фрагментом кода. Пожалуйста, проверьте выше. - person itzmekhokan; 07.07.2019
comment
Итак, я просто ввожу их в файл functions.php темы, и каждая страница вложения заполняется метаданными mp3. Я прав?. Мне также нужен этот плагин для этого? Преобразует ли это все страницы вложений для заполнения данными (даже существующими)? - person brvnbld; 19.12.2019