2012-04-11 38 views
0

我试图从内置的Wordpress链接列表(或书签,如果您将)获取所有链接类别。get_bookmarks()对象不会返回link_category

要做到这一点,我简单地存储所有链接在一个变量是这样的:

<?php 
    $lists = get_bookmarks(); 
    foreach($lists as $list) { 
     $cats[] = $list->link_category; 
    } 
?> 

出乎我的意料,甚至var_dump'ing $猫给我“字符串(0)”,所以我var_dump'ed出$名单相反,它给了我这样的:

array(8) { [0]=> object(stdClass)#5126 (13) { ["link_id"]=> string(1) "1" ["link_url"]=> string(27) "http://codex.wordpress.org/" ["link_name"]=> string(13) "Documentation" ["link_image"]=> string(0) "" ["link_target"]=> string(0) "" ["link_description"]=> string(0) "" ["link_visible"]=> string(1) "Y" ["link_owner"]=> string(1) "1" ["link_rating"]=> string(1) "0" ["link_updated"]=> string(19) "0000-00-00 00:00:00" ["link_rel"]=> string(0) "" ["link_notes"]=> string(0) "" ["link_rss"]=> string(0) "" } 

现在,codex.wordpress.org是自带的WordPress默认的链接,它是在一个名为“链表”类别,你可以看到,对象包含该链接的所有内容,除了categoryname。

根据codex这个对象应该包含一个名为“link_category”的字段,所以我在这里感到困惑。

我错过了什么吗?功能是否破裂?

问候

NINJA

回答

0

source code WordPress的3.3.1 get_bookmarks()函数,链接类别取得这样的:

$_bookmark->link_category = array_unique(wp_get_object_terms($_bookmark->link_id, 'link_category', array('fields' => 'ids'))); 

您正在使用什么版本的WordPress?如果它没有得到link_category,您可能可以按照get_bookmarks()函数的方式手动获取它。