1 Вопрос: Как я могу использовать apply_filters или add_filter только для определенных типов записей?

вопрос создан в Wed, May 8, 2019 12:00 AM

Я пытаюсь изменить разметку изображений, но только для одного пользовательского типа записи. Как я могу применить фильтр только к этому типу записи?

Я пробовал запрашивать тип записи внутри функции и вне ее.

function custom_email_images($html, $id, $caption, $title, $align, $url) {
  $post_type = get_post_type();
  if ( 'email-layout' === $post_type ) {
    $src = wp_get_attachment_url($id);
    $html = '<img src="' . $src . '?w=800" width="415" style="width:415px;max-width:100%">';
  }
  return $html;
}

apply_filters(
  'image_send_to_editor',
  'custom_email_images',
  10,
  6
);
    
2
  1. Как дела? Вы попробовали мое предложение?
    2019-05-13 13: 06: 13Z
1 ответ                              1                         

get_post_type () по умолчанию получает get_post_type ($post). Однако сама функция не знает о глобальной переменной $post.

Попробуйте добавить это в функцию вверху и посмотрите, работает ли она:

global $post;

В противном случае попробуйте напечатать_r или вывести get_post_type и посмотреть, что это такое (в настоящее время это, вероятно, "false").

    
0
2019-05-08 16: 56: 04Z
источник размещен Вот