【问题标题】:Wordpress getting single post IDWordpress 获取单个帖子 ID
【发布时间】:2019-02-18 17:19:20
【问题描述】:

我正在使用主题模板,当我尝试获取帖子 ID 时,它返回模板的 ID,而不是实际单个帖子的 ID。

模板 ID 为:215 帖子ID是:1911 以下代码只会输出 215

function metavalue() {
                    global $post;
                    $meta = get_post_meta($post->ID, 'product_url', true);
                    return $meta;

                }
                add_shortcode('url_short', 'metavalue');

get_the_ID(); the_id(); $post->ID;还将输出 215。我需要一种方法来获取实际的单个帖子 ID,以便我可以从“product_url”获取自定义字段值。

【问题讨论】:

  • 你能显示更多你的代码吗?您在哪里尝试输出帖子 ID?
  • 这就是所有代码,我只是想从自定义字段“product_url”中获取数据并将其输出到单个帖子中。我只是无法获取数据,因为上面的代码返回的是模板的 ID,而不是与它关联的自定义字段的单个帖子的 ID。
  • 你能在你的问题中输出$post数组的值吗?
  • “模板 ID”到底是什么意思?在 WP 术语中,模板通常只是指主题的 PHP 模板,它们没有与之关联的帖子对象。
  • @Rarst 我正在使用来自themeforest 的报纸主题,它有一个用于创建单页的可视化页面构建器。在后端,模板被分配了一个 ID(在这种情况下为 215),$post->ID 返回模板 ID(215)而不是使用模板(1911)的单个帖子。

标签: php wordpress


【解决方案1】:

我也就此主题联系了主题作者的支持,但目前我已经找到了解决它的方法。

function metavalue() {
global $wp;
$url = home_url( $wp->request );
$correct_post_id = url_to_postid( $url ); 
$meta = get_post_meta($correct_post_id, 'product_url', true);
return $meta;
}
                add_shortcode('url_short', 'metavalue');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 2010-12-04
    • 2017-04-23
    • 2012-12-09
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多