我找到了解决我的问题的方法,这很容易,但我是 WP 的新手,所以我看不到这个。
在您的插件中,或者您想在 WP 加载时捕获此事件的位置,添加此过滤器:
add_filter( 'post_thumbnail_html', 'change_featured_image' );
和:
- post_thumbnail_html是 WP 的内置过滤器。
- change_featured_image是函数,用户定义,并在 post_thumbnail_html 返回其结果之前运行。
我对这个函数有些困惑,我不知道获取值的变量。最后,我在 WP API 文档中找到了,每个 vars 内置过滤器使用,你也可以使用。
这是示例代码:
function change_featured_image($attr)
{
global $wpdb;
$opt = get_option('s3dcs_status');//My value in `wp_options`
if(empty($opt)) echo $attr;
else{
/// Preparing variables
$pattern = '~(http.*\.)(jpe?g|png|[tg]iff?|svg)~i';
$m = preg_match_all($pattern,$attro,$matches);
$il = $matches[0][0];
$tail = explode("wp-content", $il)[1];
$s3dcs_remote_link = get_option('s3dcs_cfs3in') . "/wp-content" . $tail;
echo str_replace($il, $s3dcs_remote_link, $attr) ;
}
}
就这样。如果您有问题,请在此处发布,让每个人都知道。