我已经使用“高级自定义字段”在我的所有页面,帖子,类别和产品上添加了自定义页面标题字段。
为了删除默认的<title>
标记并确保该字段正确通过,我在我的functions.php文件中使用了以下函数:
/* Remove Default <title> tag */
remove_action( 'wp_head', '_wp_render_title_tag', 1 );
// Add new <title> and description tags
function child_theme_head_script() { ?>
<title><?php the_field('seo_page_title'); ?></title>
<meta name="description" content="<?php the_field('seo_page_description'); ?>"/>
<!-- Your HTML goes here -->
<?php }
add_action( 'wp_head', 'child_theme_head_script' );
除在我的类别页面上http://staging.morningsidepharm.com/products/branded-medicines
之外,此方法在整个网站上均正常运行在类别页面上,似乎是从页面上显示的第一个产品中获得标题的。对于上面的页面,页面标题显示为: Bimizza(去氧孕烯乙炔雌二醇)片剂品牌药|晨兴制药
而不仅仅是:品牌药|晨兴制药
我以为函数中的wp_head
将以所有Wordpress页面的标题为目标,然后删除title标签并添加自定义标签...实际上似乎正确地做到了这一点,但是它只是添加数据来自第一个产品,而不是类别。该类别看起来对您有帮助:
其中的SEO文件对应于:<?php the_field('seo_page_title'); ?>
和<?php the_field('seo_page_description'); ?>
有人能指出我正确的方向吗?我不确定我要去哪里错了...
**更新** **更新**
此后,我尝试了此操作,但似乎没有效果...
/* Remove Default <title> tag */
remove_action( 'wp_head', '_wp_render_title_tag', 1 );
// Add new <title> and description tags
$term = get_queried_object();
$title = get_field('seo_page_title', $term);
$desc = get_field('seo_page_description', $term);
function child_theme_head_script() { ?>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $desc; ?>"/>
<!-- Your HTML goes here -->
<?php }
add_action( 'wp_head', 'child_theme_head_script' );
答案 0 :(得分:2)
Rectangle{
id:fadingRect
anchors.fill: parent
visible: false
opacity: 1
color: "red"
Component.onCompleted: {
animRect.start()
}
NumberAnimation { id:animRect; target: fadingRect; property: "opacity"; from: 0; to:1; duration: 2000;
onStarted: { fadingRect.visible=true; console.log(fadingRect.visible)}
}
}
只能在循环中使用,这就是为什么这样做的原因,因为它是从当前Loop项中提取数据。如果要定位分类法的字段,则需要将对该分类法的引用传递给函数。
我建议这样的事情:
the_field()
这是ACF文档中的相关页面:https://www.advancedcustomfields.com/resources/adding-fields-taxonomy-term/