为了账号安全,请及时绑定邮箱和手机立即绑定

在函数中回显 get_post_meta()

在函数中回显 get_post_meta()

PHP
慕沐林林 2022-10-28 10:05:10
我没有找到像我这样的类似问题,所以我希望有人能向我解释我做错了什么。我想通过一个函数从后端 wordpress 自定义字段中回显。这就是我所做的:功能function add_meta_data() {    if ( is_page() ) {        echo'<meta property="og:title" content="' . get_post_meta( $post_id, 'og_title', true ) . '">';    }add_action('wp_head','add_meta_data',1);以上返回一个空的元数据:在您评论“为什么不使用现有的 SEO 插件?”之前 ,这就是我想消除带有太多未使用功能的插件并尝试使用 WP 现有功能的全部内容。
查看完整描述

3 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

将此功能与帖子 ID/ 一起使用

get_post_meta( $post->ID, 'your_meta_key', true );

谢谢


查看完整回答
反对 回复 2022-10-28
?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

如果您通过 db 中的 get_post_meta 保存 og_title,那么您肯定会拥有 og_title。但似乎你没有通过 post_id 这是强制性的。


请仔细阅读WP上提到的文档


https://developer.wordpress.org/reference/functions/get_post_meta/


您需要放置 post_id 以获取元数据。请参阅下面的代码


function add_meta_data() {

    if ( is_page() ) {

        echo'<meta property="og:title" content="' . get_post_meta($post_id ,'og_title' ) . '">';

    }

add_action('wp_head','add_meta_data',1);


查看完整回答
反对 回复 2022-10-28
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

我在函数中犯的错误$post_id是未定义,因为这不是全局变量。需要做的是:


function add_meta_data() {

    if ( is_page() ) {

        $post_id = get_the_id();

        echo'<meta property="og:title" content="' . get_post_meta( $post_id, 'og_title', true ) . '">';

    }

add_action('wp_head','add_meta_data',1);


查看完整回答
反对 回复 2022-10-28
  • 3 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信