我尝试了不同的方法来获取自定义字段中的值数据并将其放在标题中的元标记属性中,但没有运气。
我的网站基于Wordpress运行。我创建了一个页面来显示自定义字段中的数据。我添加了一个Facebook分享按钮来分享Facebook上的内容。
当我点击分享按钮时,Facebook只捕获了Wordpress元标签默认元标签。
我编辑了open-graph.php,添加了一个条件,使Wordpress仅在该页面上使用我的自定义元标记。
问题是,我不能或我不知道如何从数据库中获取数据并将其放入元标记中。因为标头是在正文之前加载的,所以标头中的那些元标记总是在从数据库获取数据的函数返回值之前加载。即使我创建了我需要的标签,它们仍然位于正文中,这对于元标签来说不是正确的位置。
我试图将数据函数直接放在 open-graph.php 中,在我的页面条件语句正下方,但它仍然不起作用。
有没有办法从正文加载数据并将其放在标题的元标记中? 请帮忙。
我最近在我的header.php
文件中以这种方式设置
<?php
$theme = wp_get_theme();
$screenshot_url = esc_url( $theme->get_screenshot() );
?>
<?php if ( is_home() ): ?>
<meta property="og:url" content="<?php echo get_home_url(''); ?>" />
<meta property="og:type" content="website" />
<meta property="og:title" content="<?php echo get_bloginfo('name'); ?>" />
<meta property="og:description" content="<?php echo get_bloginfo('description'); ?>" />
<meta property="og:image" content="<?php echo $screenshot_url; ?>" />
<?php elseif( is_category() ):
$cat_id = get_query_var('cat');
$cat_name = get_cat_name($cat_id);
$cat_desc = (category_description( $cat_id ) != '') ? category_description( $cat_id ) : get_bloginfo('description');
?>
<meta property="og:url" content="<?php echo get_category_link($cat_id); ?>" />
<meta property="og:type" content="website" />
<meta property="og:title" content="<?php echo $cat_name; ?>" />
<meta property="og:description" content="<?php echo $cat_desc; ?>" />
<meta property="og:image" content="<?php echo $screenshot_url; ?>" />
<?php else: ?>
<meta property="og:url" content="<?php the_permalink(); ?>" />
<meta property="og:type" content="website" />
<meta property="og:title" content="<?php echo get_the_title(); ?>" />
<meta property="og:description" content="<?php echo get_the_excerpt(); ?>" />
<?php if(has_post_thumbnail()):
$url = wp_get_attachment_url( get_post_thumbnail_id() );
?>
<meta property="og:image" content="<?php echo $url; ?>" />
<?php else: ?>
<meta property="og:image" content="<?php echo $screenshot_url; ?>" />
<?php endif; ?>
<?php endif; ?>
您可以添加所需的任何条件 - 例如检查您是否在单个页面上或某个特定模板上。
当我使用Facebook分享按钮时,我得到了正确的图像和信息。
希望这对:)有所帮助