我希望按照以下顺序301将Wordpress中的附件页面重定向到父帖子或主页:
- 检查附件是否有父项并重定向到该帖子的URL
- 检查图片是否用作特色图片并重定向到帖子网址
- 将附件页面重定向到网站主页
【在附件页面获取固定链接以获取特色图片】这应该是相当琐碎的, 就像该代码的其余部分一样, 但是, 如果将图像用作页面中的特色图像, 则似乎没有张贴父集(如果我错了, 请纠正我)。
到目前为止, 我的代码如下(如果使用image.php, 则位于顶部):
if (!empty($post->
post_parent)) { // checks the parent is set and not 0$url = get_permalink($post->
post_parent);
} else if ( 'some code here' ) { // Check if the image is a featured image$url = get_permalink($some_variable_that_gets_the_url_of_the_page);
} else {$url = home_url();
}wp_redirect($url, 301 );
exit();
注意:Yoast不再这样做, 并且我不想使用插件。无论如何, 我还没有看到可以执行第2点中所述功能的插件。
#1你可以创建一个接受媒体ID的函数, 并检查数据库中是否有包含媒体ID的_thumbnail_id。
function is_featured_image ($id)
{
global $wpdb;
return $wpdb->
get_var(
$wpdb->
prepare(
"SELECT post_id FROM {$wpdb->
prefix}postmeta WHERE meta_key = '_thumbnail_id' AND meta_value = http://www.srcmini.com/%s", $id
)
);
}
这将返回false或找到的帖子的ID。如果有很多, 它将返回第一篇文章的ID。
然后使用ID, 你可以检索网址。
} else if (($id = is_featured_image($post->
ID)) &
&
$id !== false) {
$url = get_permalink($id);
}
推荐阅读
- 从WordPress中的特定类别获取粘性帖子
- 使用WordPress $wpdb获取按2列排序的行结果
- WP获取分类的链接
- 在WordPress上获取特定SUBCATEGORY的所有帖子()
- 获取特定类别的所有帖子
- 将前端传递来的键值对转换成对象相应的值
- flea-cache使用之Redis集群模式接入
- ES6 第四章 字符串的新增方法
- HarmonyOS ArkUI之自定义组件侧滑菜单(JS)