Я пытаюсь добавить фильтр 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 не установлена.Есть ли способ получить почтовый идентификатор в этих случаях?Или я должен попытаться добавить фильтр к другому хуку?(Хотя я не могу придумать ничего подходящего.)