在代码的另一部分执行php函数



我有一个基于wordpress的网站。

我有一个标准的wordpress循环,它在html的<body>部分的开头执行。现在,我想打印出头中的og标签,但这些标签所需的数据(标题、描述…)在<head>部分之后,当我执行循环时,我就可以使用了。

有没有一种方法可以在php中解决这个问题,而不必将代码移动到head标记的开头(或之前的某个地方)?

如果你的问题是设置元标签,这对我很有用,因为它可以检查你是否在查看帖子或网站

<?php if (is_single() || is_author()) { ?>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="og:url" content="<?php the_permalink() ?>"/>
<meta property="og:title" content="<?php wp_title(); ?>" />
<meta property="og:description" content="<?php echo strip_tags(get_bloginfo('description')); ?>" />
<meta property="og:type" content="article" />
<meta property="og:image" content="<?php if (function_exists('wp_get_attachment_thumb_url')) {echo wp_get_attachment_thumb_url(get_post_thumbnail_id($post->ID)); }?>" />
<?php } else { ?>
<meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
<meta property="og:url" content="<?php the_permalink() ?>"/>
<meta property="og:title" content="<?php wp_title(); ?>" />
<meta property="og:description" content="<?php bloginfo('description'); ?>" />
<meta property="og:type" content="website" /> 
<?php } ?>

为wp_head操作安装一个钩子。

function modify_head()
{
  ?>
  <meta property="og:site_name" content="<?php bloginfo('name'); ?>" />
  <?php
}
add_action('wp_head', 'modify_head');

最新更新