m-torin
  • 0
Учитель

Как сделать пользовательский фид заголовка = таксономии?

  • 0

У меня есть настраиваемый тип сообщения, который не использует строку заголовка по умолчанию для определения заголовка сообщения. Вместо этого это ряд таксономий: исполнитель, альбом и год.

Прямо сейчас мой xml-канал отображается <title>Auto Draft</title> для каждого типа сообщений. Какой фильтр я могу использовать, чтобы эти три таксономии были тегом заголовка типа сообщения в ленте?

Share
  1. Вы можете использовать wp_insert_post_data ловушку фильтра, которая вызывается функцией wp_insert_post перед вставкой или обновлением базы данных.

    например, это возьмет первый термин каждой таксономии и установит их в качестве заголовка:

    function custom_post_type_title_filter( $data , $postarr )
    {
      //check for your post type
      if ($postarr['post_type'] == 'your type name'){
        if (isset($_post['newtag'])){
            $artist = $album = $year = '';
            foreach($_post['newtag'] as $tax => $terms){
                if ($tax == "artist"){
                    $artist = $terms[0];
                    continue;
                }
                if ($tax == "album"){
                    $album = $terms[0];
                    continue;
                }
                if ($tax == "year"){
                    $year = $terms[0];
                    continue;
                }
            }
            $data['post_title'] = $artist.' '.$album .' '. $year;
        }
      }
      return $data;
    }
    
    add_filter( 'wp_insert_post_data' , 'custom_post_type_title_filter' , '99' );
    

    это предполагает, что ваши пользовательские таксономии не являются иерархическими (например, теги), и вам придется изменить правильное имя, а также имя пользовательского типа сообщения.

    Надеюсь это поможет.

    • 0

Оставить ответ

You must login to add an answer.