dougan6982 2018-10-11 21:14
浏览 99
已采纳

get_category_parents到数组wordpress

Ok So I'm using wordpress and PHP.

Basicly I get a chosen category from a dropdown menu. I then find it's parents.

But then comes the part where I seem to fail. The output of $parents is a string with the names instead of the ID's.

So I try to get each word from the string into an array. And loop through them and convert them to their ID number.

I commented out where it doesnt seem to work. What am I doing wrong?

//Create array
$categoriesArray = [];

//Get choice from wp-dropdown
$selected_val = $_POST['cat'];

//Get parents from choice divided by (this seems to output a string)
$parents = get_category_parents( $selected_val, true, ',' );

/*
//Make array from string
$categoriesArray = explode(",",$parents);

for ($i = 0; $i < count($categoriesArray); $i++) {
{
    $categoriesArray[$i] = get_cat_ID($categoriesArray[$i]);
}
*/

//the array should look something like this.
//$categoriesArray = ["21","44"];
  • 写回答

2条回答 默认 最新

  • douxian7117 2018-10-12 13:45
    关注

    It had to do with the name of the category. I needed to use the slug instead of the name.

    Here is my code that works. I can now make a new post and give it a category with their parents included!

    //Create array
    $categoriesArray = [];
    
    //Get choice from wp-dropdown
    $selected_val = $_POST['cat'];
    
    //Get parents from choice divided by ,
    $parents = get_category_parents( $selected_val, true, ',',false);
    
    //Make array from string
    $categoriesArray = explode(",",$parents);
    for ($i = 0; $i < count($categoriesArray); $i++)
    {
        $categoriesArray[$i] = get_cat_ID($categoriesArray[$i]);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • douchun2158 2018-10-12 01:02
    关注
    try this,
    
    function get_level($cat, $level = 0)
    {
    if ($cat->category_parent == 0) {
        return $level;
    } else {
        $level++;
        $cat = get_category($cat->category_parent);
        return get_level($cat, $level);
    }
    
    }
    
    if (is_category()) {
    $cat = get_query_var('cat');
    $your_cat = get_category($cat);
    
    echo get_level($your_cat);
    }
    
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 爬虫爬取安居客新房信息
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)
  • ¥15 linux tsi721的驱动编译后 insmod 提示 报错
  • ¥20 multisim测数据
  • ¥15 求无向连通网的所有不同构的最小生成树
  • ¥15 模拟器的framebuffer问题
  • ¥15 opencv检测轮廓问题