0

組み込みのWordpressリンクリスト(またはブックマーク)からすべてのリンクカテゴリを取得しようとしています。

これを行うには、すべてのリンクを次のような変数に格納するだけです。

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

驚いたことに、var_dump'ing $ catsでさえ"String(0)"を与えてくれたので、代わりに$listsをvar_dumpしました。

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に付属するデフォルトのリンクであり、「Linklist」というカテゴリにあります。ご覧のとおり、オブジェクトには、カテゴリ名を除いて、そのリンクに関するすべてのものが含まれています。

コーデックスによると、このオブジェクトには「link_category」という名前のフィールドが含まれているはずなので、ここで混乱しています。

私は何かが足りないのですか?機能が壊れていませんか?

よろしく

忍者

4

2 に答える 2

0

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()

于 2012-04-11T11:25:48.657 に答える
0

get_terms関数を試す

$terms = get_terms('link_category');
于 2012-04-11T12:36:16.557 に答える