我想在我的Wordpress主题中设置一个带有自定义字段meta的自定义帖子标题。
用户将向帖子类型添加新帖子。当他们这样做时,他们只会看到“标题”、“URL”和“发布”元。我想删除“标题”,只显示“URL”和“Publish”元。当用户粘贴URL时,我设置了一个变量来从URL获取自定义标题。
Question: 我是否能够使用此变量生成帖子标题?类似于:
$postid = get_the_ID();
add_post_meta( $postid, \'youtubetitle\', $videotitle );
add_filter( \'the_title\', \'my_replace_post_title\', 100, 2);
function my_replace_post_title( $title, $id ){
if (is_feed())
return $title; // You don\'t modify the title if it is a feed
// To change the title to the value of your metafield, first get the value of the metafield
$new_youtube_title = get_post_meta( $id, \'youtubetitle\', $single );
// $new_youtube_title becomes the new title
return $new_youtube_title;
}
使用此选项时,上面的代码在我的所有视频上显示(无标题),而不是拉取$videotitle变量。
SO网友:Pat Gilmour
如果您已经可以将YouTube标题放入变量中,那么应该使用以下类似的方法。比如说。。。
$youtubetitle = \'A Hot Sauce Example Title\';
您可以这样将此内容写入post meta(我认为您已经这样做了,所以我将简短介绍):
add_post_meta( 1234, \'youtubetitle\', $youtubetitle );
“1234”是帖子的id。
然后您可以使用the_title
钩子来修改它:
add_filter( \'the_title\', \'my_replace_post_title\', 100, 2);
function my_replace_post_title( $title, $id ){
if (is_feed())
$return $title; // You don\'t modify the title if it is a feed
// To change the title to the value of your metafield, first get the value of the metafield
$new_youtube_title = get_post_meta( $id, \'youtubetitle\', $single );
// $new_youtube_title becomes the new title
return $new_youtube_title;
}