【问题标题】:Wordpress - referencing get_post_meta inside & outside of the loop properly?Wordpress - 正确引用循环内外的get_post_meta?
【发布时间】:2012-09-04 19:39:23
【问题描述】:

我已经成功创建了我的帖子元框,保存了数据,并且我了解如何检索数据。在自定义元框中,我有一个页面品牌字段,它将决定我们在该页面上展示的每个产品线的配色方案。

当正文附加了产品线名称的类时,我会根据配色方案触发一个类。例如:

<body class="product-drinks">

<body class="product-abcwidgets">

根据在该帖子的元框中选择的产品线将确定将包含哪些样式表。

例如,如果我选择“product-drinks”,那么包含的样式表将是 product-drinks.css

我需要在循环内使用大多数元框数据,但我还需要在循环外访问页面品牌大型字段数据。如果我需要在循环之外获取这些数据,我将如何获取它?

我最初想在循环中将一些数据放在一个数组中,然后在 body 标记中引用 $page_options 数组值:

(在头部循环之外)

<body class="<?php echo $page_options['pageBranding'];?>

在循环中"

$page_options = array(  

        'pageBranding'  =>  get_post_meta($post_id, 'pageBranding', true), 
        'layout'        =>  get_post_meta($post_id, 'pageLayout', true)
);

我这样做是正确的还是有更好的方法?或者我应该只在循环内引用我需要的元字段,然后在循环外使用 global $wp_query; 并以这种方式获取我需要的正文和样式表数据的后元?

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    如果您需要循环外的数据,我建议使用 $wp_query 或 global $post。

    <?php global $post; ?>
    

    那你就可以正常调用了

    <?php $samplemeta = get_post_meta($post->ID, "your_meta_name", true); ?>
    

    【讨论】:

    • 感谢您的回复。我不久前就想到了这一点,但有人确认你在做什么总是很棒的。谢谢乔!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多