我将 IFTTT 与 Wordpress 一起使用,因此每次我在 Instagram 上创建帖子时,食谱都会在 Wordpress 上创建帖子。
IFTTT 创建的代码:
<div>
<img src='https://scontent.cdninstagram.com/t51.2885-15/sh0.08/e35/12724750_1719815604930604_2078818546_n.jpg?ig_cache_key=MTE5MTQxNTkwMjE5ODM2NzYwOQ%3D%3D.2' style='max-width:600px;' /><br/>
<div>
<a href="http://ift.tt/1XKFC24Q7" target="_blank">See</a>
</div>
</div>
出于某种原因,我用来添加此图像(如特色图像)的插件不喜欢图像 src 的这一端,因此我需要删除 ".jpg" 之后的代码:
"?ig_cache_key=MTE5MTQxNTkwMjE5ODM2NzYwOQ%3D%3D.2")。
我找到了一个 Wordpress 过滤器,可以在保存之前修改帖子。所以我尝试了这段代码,但这会删除之后的所有其他代码?
add_filter( 'wp_insert_post_data' , __NAMESPACE__ . '\\filter_post_data' , '99', 2 );
function filter_post_data( $data , $postarr ) {
$data['post_content'] = substr( $data['post_content'], 0, strpos( $data['post_content'], "?")); delete all after ?
return $data;
}
怎么能说删除问号(?)之后的所有内容,但只能在 img 标签的 src 内?
这是参考$data['post_content']
:
https://codex.wordpress.org/Plugin_API/Filter_Reference/wp_insert_post_data