wordpress 自定义字段

你是否希望充分利用 WordPress 网站上的自定义字段?

自定义字段是一项方便的 WordPress 功能,可让您向 WordPress 帖子和页面添加额外的数据和信息。许多流行的 WordPress 插件和主题使用自定义字段来存储重要数据。

在本文中,我们将向您展示如何使用 WordPress 自定义字段以及一些小技巧。

在这里插入图片描述

由于这是一篇很长的文章,我们添加了一个目录,以便于导航。只需使用下面的快速链接即可跳转到您要阅读的部分:

什么是 WordPress 自定义字段?

WordPress 自定义字段是用于向您正在编辑的帖子或页面添加额外信息的元数据。

默认情况下,当您编写新的 Post、Page 或任何其他内容类型时,WordPress 会将该内容保存在两个不同的部分。

第一部分是您使用 WordPress 内容编辑器添加的内容正文。

第二部分是有关该内容的信息。例如,标题、作者、日期、时间等。此信息称为元数据。

WordPress 网站会自动将所有必需的元数据添加到您创建的每个帖子或页面中。您还可以使用自定义字段创建和存储自己的元数据。

默认情况下,自定义字段选项在后期编辑屏幕上处于隐藏状态。要查看它,您需要单击屏幕右上角的三点菜单,然后从菜单中选择“首选项”。

在这里插入图片描述
这将打开一个弹出窗口,您需要在其中切换到“面板”选项卡,然后启用“自定义字段”选项。

之后,只需单击“启用并重新加载”按钮即可重新加载帖子编辑器。

在这里插入图片描述

帖子编辑器将重新加载,您将能够在内容编辑器下方看到“自定义字段”面板。

自定义字段可用于添加与帖子、页面或其他内容类型相关的任何信息。然后,此元信息可以显示在您的主题中。

在这里插入图片描述

但是,为此,您需要编辑 WordPress 主题文件。让我们来看看如何在 WordPress 中添加和使用自定义字段。

在 WordPress 中添加自定义字段

首先,您需要在区块编辑器中打开帖子或页面,以便添加自定义字段。然后,您必须转到“自定义字段”元框。

在这里插入图片描述

接下来,您需要为自定义字段提供“名称”,然后输入其“值”。单击“添加自定义字段”按钮进行保存。

该字段将存储并显示在“自定义字段”元框中,如下所示:

在这里插入图片描述

您可以随时编辑此自定义字段,然后单击“更新”按钮即可保存更改。如果您不想再使用它,也可以将其删除。

现在,您需要保存您的帖子以存储您的自定义字段设置。

在 WordPress 主题中显示自定义字段

要在您的网站上显示您的自定义字段,您需要编辑您的 WordPress 主题文件和代码片段。

<?php echo get_post_meta($post->ID, 'key', true); ?>

不要忘记将 key 替换为自定义字段的名称。

疑难解答:在发布编辑屏幕上的下拉列表中找不到自定义字段

默认情况下,WordPress 仅在帖子编辑屏幕的下拉菜单中加载 30 个自定义字段。

如果您使用的是已经使用自定义字段的 WordPress 主题和插件,那么它们可能会首先出现在下拉菜单中,您将无法看到新创建的自定义字段。

若要解决此问题,需要将以下代码添加到主题的 function .php 文件中或使用 WPCode(推荐):

add_filter( 'postmeta_form_limit', 'meta_limit_increase' );
function meta_limit_increase( $limit ) {
    return 50;
}

上面的代码会将该限制更改为 50。如果您仍然看不到自定义字段,则可以尝试进一步增加该限制。

使用高级自定义字段为自定义字段创建用户界面

如您所见,添加自定义字段后,每次撰写帖子时都必须选择该字段并输入其值。

如果您的网站上有许多 WordPress 自定义字段或多个作者在写作,那么这不是一个理想的解决方案。

如果您可以创建一个用户界面,用户可以在其中填写表单以向自定义字段添加值,那不是很好吗?

创建用于添加自定义字段的用户界面的最简单方法是使用 Advanced Custom Fields 插件。

激活后,您需要访问 ACF » 字段组页面,然后单击“添加新”按钮。

在这里插入图片描述

字段组类似于包含一组自定义字段的容器。它允许您添加多个自定义字段面板。

现在,您需要为字段组提供标题,然后单击右上角的“+ 添加字段”按钮。

在这里插入图片描述
您现在可以选择字段类型。

高级自定义字段允许您创建各种字段,包括文本、图像上传、数字、下拉列表、复选框等。

在这里插入图片描述

接下来,您可以向下滚动以查看该特定字段的其他选项,例如字段名称、字段标签和默认值。您可以根据自己的要求更改它们。

如果需要,您还可以将多个字段添加到字段组。完成后,只需单击“保存更改”按钮。

在这里插入图片描述

接下来,编辑帖子或创建一个新帖子,您将在内容编辑器下方看到一个带有 WordPress 自定义字段的新面板。

如何使用条件语句隐藏空自定义字段

到目前为止,我们已经介绍了如何创建自定义字段并将其显示在您的主题中。

现在,让我们看看如何在显示自定义字段之前检查它是否为空。为此,我们将修改代码,首先检查该字段是否包含数据:

<?php
$mood = get_post_meta($post->ID, 'Mood', true);
if($mood){
?>
<p>Today's Mood: <?php echo $mood; ?></p>
<?php
} else {
// do nothing
}
?>

向自定义字段添加多个值

比如:name 为 ‘download’, value 为’文件1, http://baidu.com; 文件2, http://360.com’。

由于 ‘download’ 字段的值包含多个名称和链接,你可能需要进一步处理这个值来分割和显示。

<?php
// 获取当前文章的ID
$post_id = get_the_ID();

// 获取 'download' 字段的值
$download_value = get_post_meta($post_id, 'download', true);

// 检查是否存在 'download' 字段的值
if (!empty($download_value)) {
    // 将值按分号分割成数组
    $items = explode(';', $download_value);

    // 循环输出每个项目的名称和链接
    foreach ($items as $item) {
        // 将每个项目按逗号分割成名称和链接
        list($name, $link) = explode(',', $item);

        // 输出名称和链接
        echo '<p><a href="' . esc_url($link) . '">' . esc_html($name) . '</a></p>';
    }
}
?>

上述代码中,我们首先使用 get_post_meta 函数获取 ‘download’ 字段的值。然后,我们使用 explode 函数将值分割成一个包含多个项目的数组。接下来,我们循环遍历数组,使用 explode 函数将每个项目分割成名称和链接,并输出到页面上。

在模板文件中使用 esc_url 和 esc_html 函数是为了确保输出的链接和文本是安全的,防止潜在的安全问题。

如何在 WordPress 中按自定义字段搜索帖子

WordPress 的默认搜索不适用于您网站上的任何自定义字段。它仅使用内容来查找您或您的访问者在您的网站上查找的帖子。

但是,SearchWP 通过改进您的 WordPress 搜索来改变这一点。这是最好的 WordPress 搜索插件,它不仅使用帖子内容,还索引了所有内容,包括 WordPress 自定义字段、PDF 文档、自定义表格、文本、文件等。

您可以使用 SearchWP 调整搜索算法,而无需编辑代码。只需安装插件,然后前往 SearchWP » 算法 从您的 WordPress 管理区域。

之后,您需要转到“引擎”选项卡,然后调整“属性相关性”滑块。这将更改搜索过程中赋予每个属性的重要性。

在这里插入图片描述
例如,您可以将“自定义字段”滑块设置为最大值,并相应地调整其他属性的滑块。这样,在WordPress中搜索内容时,SearchWP将优先考虑自定义字段中的数据。

使用 SearchWP 的另一个优点是可以与一些最流行的自定义字段插件一起使用,包括高级自定义字段 (ACF)、Meta Box 和 Pods。

显示具有特定自定义键的帖子

WordPress 允许您显示带有自定义键及其值的帖子。例如,如果您尝试创建自定义存档页面以显示具有特定自定义键的所有帖子,则可以使用 WP_Query 来查询与这些字段匹配的帖子。

您可以使用以下代码作为起点:

$args = array(
    'meta_key'   => 'Mood',
    'meta_value' => 'Happy'
);
$the_query = new WP_Query( $args );
  
<?php 
// the query
$the_query = new WP_Query( $args ); ?>
  
<?php if ( $the_query->have_posts() ) : ?>
  
    <!-- the loop -->
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
        <h2><?php the_title(); ?></h2>
        <?php the_content(); ?>
  
    <?php endwhile; ?>
    <!-- end of the loop -->
  
    <!-- pagination here -->
  
    <?php wp_reset_postdata(); ?>
  
<?php else : ?>
    <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

使用自定义字段显示自定义页眉、页脚、边栏

通常,大多数 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();
?>

此代码仅查找侧边栏自定义字段,然后将其显示在主题中。例如,如果添加 webpage 为侧边栏自定义字段,则代码将查找要显示的 sidebar-webpage.php文件。

您需要在主题文件夹中创建 sidebar-webpage .php 文件。您可以从主题的 sidebar .php 文件中复制代码作为起点。

如何使用自定义字段在 WordPress 中设置帖子的到期日期

想为您的 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); ?>>

现在,如果您使用“检查”工具检查帖子的源代码,那么您将看到自定义字段 CSS 类已添加到帖子类中。

在这里插入图片描述

您现在可以使用此 CSS 类来添加自定义 CSS 并以不同的方式设置帖子样式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值