Как я могу использовать apply_filters или add_filter только для определенных типов записей? - PullRequest
2 голосов
/ 08 мая 2019

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

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

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
);

1 Ответ

0 голосов
/ 08 мая 2019

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

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

global $post;

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...