Получение идентификатора записи WordPress из фильтра - PullRequest
0 голосов
/ 29 марта 2011

Я пытаюсь добавить фильтр content_save_pre для обновления настраиваемого поля на основе текста в содержимом, например, [что-то] Thing [/ что-то] скажет плагину установить для настраиваемого поля значение «Вещи».

Мой код (ниже) работает нормально при публикации через веб-интерфейс, но не работает на клиентах, которые я пробовал (MarsEdit и WordPress iOS), а также на закладке «Нажмите это».Теги [] удаляются, но настраиваемое поле не устанавливается.

function dfll_get_link($post_content) {
  $dflink = dfll_find_link($post_content);
  if ($dflink) {
    global $post;
    $post_id = $post->ID;
    update_post_meta($post_id, 'linked_list_url', $dflink);
  }
  $temp = '/(' . dfll_regesc('[ll]') . '(.*?)' . dfll_regesc('[/ll]') . ')/i';
  $post_content = (preg_replace($temp, '', $post_content));
  return $post_content;
}

add_filter('content_save_pre', 'dfll_get_link');

Из некоторых тестов кажется, что переменная $ post_id не установлена.Есть ли способ получить почтовый идентификатор в этих случаях?Или я должен попытаться добавить фильтр к другому хуку?(Хотя я не могу придумать ничего подходящего.)

1 Ответ

0 голосов
/ 12 апреля 2011

Нашел решение, используя плагин Джастина Блантона CF Setter .Извлеките информацию и сохраните ее как глобальную, затем примените настройку как действие для save_post.

...