【问题标题】:How to use shortcode in php code to get value via shortcode for php code?如何在 php 代码中使用简码通过 php 代码的简码获取价值?
【发布时间】:2018-12-20 10:13:33
【问题描述】:

我正在尝试通过简码获取 postid 以获取该帖子的父类别。 这是我的代码

我现在尝试了这段代码,但没有得到任何运气,我不知道出了什么问题。请考虑我的要求,我对 PHP 和 WordPress 很陌生。

<?php
    $category_detail=get_the_category('[field parent-id]');//$post->ID
    foreach($category_detail as $cd){
        echo $cd->cat_name;
    }
?> 

我想像这样打印我的帖子 id

$category_detail=get_the_category('4');//$post->ID

我不能使用 PHP 代码来获取帖子 ID,因为我的其他格式是使用短代码制作的,所以请帮助我。谢谢(抱歉英语不好)

更新:我也试过这段代码,但没有运气

<?php
    $id = do_shortcode('[field parent-id]');

    $category_detail=get_the_category($id);//$post->ID
    foreach($category_detail as $cd){
        echo $cd->cat_name;
    }
?> 

【问题讨论】:

  • [field parent-id] 是您编写的自定义简码吗?如果您只是想获取当前帖子的父级,则不需要为此使用短代码?
  • @RustyBadRobot 我使用“插件:自定义内容短代码”我在其他模板上使用这些短代码,这就是我需要这个的原因。
  • @RustyBadRobot 有什么帮助吗?谢谢你

标签: php wordpress custom-post-type shortcode


【解决方案1】:

问题是这个短代码试图获取父 ID,但父 ID 是什么?你需要告诉它,所以试试这个(未经测试)

global $post;
$parent = $post->post_parent;
$id = do_shortcode('[field '.$parent.']');
$category_detail=get_the_category($id);//$post->ID
foreach($category_detail as $cd){
  echo $cd->cat_name;
}

【讨论】:

  • 感谢您的时间和帮助,插件定义的短代码就像我在没有 php 的情况下粘贴它并显示父帖子 ID,但是当我在同一页面上的 php 中使用它时它不起作用。我不能使用您上面的代码作为帖子的短代码启动循环,并且通过简码获取的父帖子对于正确的帖子是正确的,您的代码获取其他 id,同时我尝试了您的代码,我也得到了空白页,当我删除全局 $post;然后数据显示其他短代码,但 php 代码不起作用。还有其他方法吗?再次感谢
猜你喜欢
  • 2022-01-11
  • 1970-01-01
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 2011-07-15
  • 2018-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多