我正在尝试添加content_save_pre过滤器,以根据内容中的文本更新自定义字段,例如[东西] Thing [/ something]会告诉插件将自定义字段设置为“Thing”。
我的代码(下面)在通过Web界面发布时工作正常,但在我尝试的客户端(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变量。在这些情况下,有没有办法获得帖子ID?或者我应该尝试将过滤器添加到不同的钩子? (不过,我想不出任何合适的东西。)