使用高级定制字段(ACF)在每页上插入元描述

时间:2019-04-03 作者:Jason Is My Name

我已经使用ACF数百次,但从未编辑过元描述。

我在ACF中创建了一个简单的文本字段,然后尝试使用以下脚本:

<?php
$meta_description = get_field(\'meta_description\'); ?>

<?php if ($meta_description != \'\') : ?>

    <meta name="description" content="<?php echo $meta_description; ?>"/>

<?php else : ?>

    <meta name="description" content="This could be an interesting meta description"/>

<?php endif; ?>
但是,它并不确认字段,它只是从if语句中执行“else”。

以下是我的ACF设置的屏幕截图:

enter image description here

我是否需要清理场地或提前打电话或其他什么?不知道为什么除了这一个之外,这对所有其他领域都适用。

以下是页面上填写的字段:

enter image description here

这可能吗?

任何帮助都会很好!

助教,杰森。

1 个回复
最合适的回答,由SO网友:Alexander Holsgrove 整理而成

正如注释中提到的,您处于循环之外,因此get_field 将不知道ID。您可以使用以下代码:

<?php 

    $meta_description = get_field(\'meta_description\', get_queried_object_id());

    if(empty($meta_description)) {
        $meta_description = \'This could be an interesting meta description\';
    }

?>

<meta name="description" content="<?php echo $meta_description; ?> "/>
如果您使用var_dump() 在标题中。php文件,您只需将其添加到最顶部,然后die() 要测试:

<?php

var_dump(get_queried_object_id());
the_field(\'meta_description\', get_queried_object_id());
die();

?><!doctype html>
<html <?php language_attributes(); ?>>.....
试试看,让我们知道你进展如何。

更新:您可能还想看看Wordpress SEO 插件,因为它允许您管理您的SEO元标记,而无需编辑任何代码。

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在