簡體   English   中英

從過濾器中獲取WordPress帖子ID

[英]Getting WordPress post ID from within a filter

我正在嘗試添加content_save_pre過濾器以基於內容中的文本更新自定義字段,例如[something] Thing [/ something]將告訴插件將自定義字段設置為“ Thing”。

通過Web界面發布時,我的代碼(如下)工作正常,但是在我嘗試過的客戶端(MarsEdit和WordPress iOS)以及“ Press This”書簽上失敗。 []標記被刪除,但自定義字段未設置。

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? 還是應該嘗試將過濾器添加到其他鈎子? (不過,我想不出任何合適的方法。)

使用Justin Blanton的CF Setter插件找到了解決方案。 提取信息並存儲為全局信息,然后將設置應用為save_post的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM