如何仅对部分网址进行urlencode?

问题描述 投票:0回答:1

我有一个WordPress网站,具有两个自定义帖子类型,bookarticle

由于设计要求,我想为帖子特色图片的return创建一个简码。我无法使用内置函数url,因为我的图像已缓存在get_the_post_thumbnail_url()网络上(使用wordpress.com),并且此函数返回了缓存的Jetpack,这与我的设计要求不符。] >

我创建了以下短代码:

url

效果很好,除了图像文件的标题是阿拉伯语(UTF-8),因此此函数将像这样返回function wp_featured_image_url( $atts ) { global $post; $url = get_the_post_thumbnail_url($post->ID); if (is_singular($post_types = 'book')) { if ( has_post_thumbnail() ) { return $url; } else { echo 'https://example.com/wp-content/uploads/year/month/generic-featured-image-for-books.png'; } } else if (is_singular($post_types = 'article')) { if ( has_post_thumbnail() ) { return $url; } else { echo 'https://example.com/wp-content/uploads/year/month/generic-featured-image-for-articles.png'; } } } add_shortcode( 'featured_image_url', 'wp_featured_image_url' );

url

我只希望它返回图像文件名的https://example.com/wp-content/uploads/2019/10/كلام-عربي-كتير.jpg。但是,如果我将urlencode更改为return $url;return urlencode($url);,它将以return rawurlencode($url);的形式返回整个网址:

urlencode

我希望能够调整功能,以使https%3A%2F%2Fexample.com%2Fwp-content%2Fuploads%2F2019%2F10%2F%D9%83%D9%84%D8%A7%D9%85-%D8%B9%D8%B1%D8%A8%D9%8A-%D9%83%D8%AA%D9%8A%D8%B1.jpg的第一部分保持完整,并且只有图像文件名才url,如下所示:

urlencode

有人能指出我正确的方向吗?预先感谢。

我有一个WordPress网站,有两种自定义帖子类型,即书籍和文章。由于设计要求,我想创建一个简码以返回帖子特色图片的网址。我无法使用...

php wordpress urlencode shortcode
1个回答
1
投票
https://example.com/wp-content/uploads/2019/10/%D9%83%D9%84%D8%A7%D9%85-%D8%B9%D8%B1%D8%A8%D9%8A-%D9%83%D8%AA%D9%8A%D8%B1.jpg

0
投票

另一种方式,很粗糙,但是更容易理解。

© www.soinside.com 2019 - 2024. All rights reserved.