在WordPress的循环外显示自定义字段
到目前为止,我们向您展示了自定义字段在WordPress循环中显示的所有示例。如果你需要把它们显示在循环之外怎么办?例如,在单个帖子的侧边栏中。
要显示WordPress循环外的自定义字段,请添加以下代码:
<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'key', true);
wp_reset_query();
?>
不要忘记用您的自定义字段名称替换密钥。
使用自定义字段显示自定义页眉,页脚,边栏
通常大多数WordPress主题在所有页面上使用相同的页眉,页脚和侧边栏。有多种方式可以显示不同网页的不同页面的边栏,页眉或页脚。请参阅我们的指南,了解如何为每个WordPress的帖子或页面显示不同的侧边栏。
一种方法是使用自定义字段。编辑要显示不同侧边栏的帖子或页面,然后将侧边栏添加为自定义字段。
现在您需要编辑WordPress主题文件,如single.php,您要显示自定义侧边栏。您将寻找以下代码:
<?php get_sidebar(); ?>
使用以下代码替换此行:
<?php
global $wp_query;
$postid = $wp_query->post->ID;
$sidebar = get_post_meta($postid, "sidebar", true);
get_sidebar($sidebar);
wp_reset_query();
?>
此代码只是查找边栏自定义字段,然后将其显示在您的主题中。例如,如果您将wpbpage添加为边栏自定义字段,则代码将查找要显示的sidebar-wpbpage.php文件。
您将需要在主题文件夹中创建sidebar-wpbpage.php文件。您可以将主题的sidebar.php文件中的代码复制为起点。
使用自定义字段处理RSS Feed内容
想要向您的RSS Feed用户显示额外的元数据或内容?使用自定义字段,您可以操纵您的WordPress RSS Feed,并将自定义内容添加到您的Feed中。
首先,您需要在主题的functions.php文件或特定于站点的插件中添加以下代码。
function wpbeginner_postrss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$coolcustom = get_post_meta($postid, 'coolcustom', true);
if(is_feed()) {
if($coolcustom !== '') {
$content = $content."<br /><br /><div>".$coolcustom."</div>
";
}
else {
$content = $content;
}
}
return $content;
}
add_filter('the_excerpt_rss', 'wpbeginner_postrss');
add_filter('the_content', 'wpbeginner_postrss');
现在只需创建一个名为“coolcustom”的自定义字段,并添加您喜欢的任何值。您可以使用它来显示广告,图像,文本或任何您想要的。
使用自定义字段操作RSS Feed标题
有时您可能需要为RSS Feed用户的帖子标题添加额外的文字。例如,如果您发布赞助的帖子或客人的帖子。
首先,您将在主题的functions.php文件或特定于站点的插件中添加以下代码。
function wpbeginner_titlerss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$gpost = get_post_meta($postid, 'guest_post', true);
$spost = get_post_meta($postid, 'sponsored_post', true);
if($gpost !== '') {
$content = 'Guest Post: '.$content;
}
elseif ($spost !== ''){
$content = 'Sponsored Post: '.$content;
}
else {
$content = $content;
}
return $content;
}
add_filter('the_title_rss', 'wpbeginner_titlerss');
接下来,您需要编辑要在标题字段中显示额外文本的文章,并在自定义字段中添加guest_post和sponsored_post。
如果找到这两个自定义字段中的任何一个值为“true”,那么它将在标题之前添加适当的文本。这种技术可以用各种方式来适应任何你喜欢的方式。
想要学习更酷的RSS feed?请参阅我们的指南,了解如何添加内容并操纵您的WordPress RSS源。
设置使用自定义字段的帖子的到期日
想要设置WordPress网站上某些帖子的到期日期?当您想要在特定时间段内发布内容(如运行调查或有限的时间优惠)时,这非常方便。
执行此操作的一种方法是手动删除帖子内容或使用Post Expirator插件等插件。
另一种方法是通过使用自定义字段在特定时间后自动过期帖子。
您将需要编辑您的主题文件并添加修改WordPress循环,如下所示:
<?php
if (have_posts()) :
while (have_posts()) : the_post();
$expirationtime = get_post_meta($post->ID, "expiration", false);
if( count( $expirationtime ) != '' ) {
if (is_array($expirationtime)) {
$expirestring = implode($expirationtime);
}
$secondsbetween = strtotime($expirestring)-time();
if ( $secondsbetween >= 0 ) {
echo 'This post will expire on ' .$expirestring.'';
the_content();
} else {
echo "Sorry this post expired!"
}
} else {
the_content();
}
endwhile;
endif;
?>
注意:您将需要编辑此代码以匹配您的主题。
添加此代码后,您可以将过期自定义字段添加到要过期的帖子中。确保以这种格式添加时间mm / dd / yyyy 00:00:00。

使用自定义字段的样式个人帖子
想使用CSS改变个人帖子的外观?WordPress自动分配每个帖子自己的类,您可以使用它来添加自定义CSS。
但是,使用自定义字段,您可以添加自己的自定义类,然后使用它们来设置不同的帖子。
首先,您需要编辑一个您希望不同风格的帖子。转到自定义字段框和后期自定义字段。

接下来,您需要编辑WordPress主题文件,并在WordPress循环开始时添加此代码。
<?php $custom_values = get_post_meta($post->ID, 'post-class'); ?>
现在你需要找到一个带有post_class()函数的行。以下是我们演示主题的内容:
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
更改此行以包括您的自定义字段值,如下所示:
<article id="post-<?php the_ID(); ?>" <?php post_class($custom_values); ?>>
现在,如果您使用Inspect工具检查帖子的源代码,那么您将看到添加到帖子类中的自定义字段CSS类。
现在,您可以使用此CSS类添加自定义CSS,并以不同的方式设置您的帖子。
就是这样,我们希望本文可以帮助您更多地了解WordPress的自定义字段。您也可能希望看到我们的最终一步一步的指导,以提高WordPress的速度和初学者的表现。
如果您喜欢这篇文章可以给我们瑞课点赞,本篇文章由瑞课学院原创发布,转载请注明瑞课学院!

