WordPress でリンクの一覧を PHP の値として受け取る方法

WordPress では以下のタグでリンクを一覧にできます。

1
<?php wp_list_bookmarks(); ?>

以下のような出力になります。ul タグは付いてこないので、この部分は自分で補完してあげる必要があります。

1
2
3
4
5
6
7
8
<li id="linkcat-2" class="linkcat">
	<h2>ブログロール</h2>
	<ul class='xoxo blogroll'>
		<li><a href="http://codex.wordpress.org/">Documentation</a></li>
		<li><a href="http://codex.wordpress.org/">Documentation</a></li>
		<li><a href="http://codex.wordpress.org/">Documentation</a></li>
	</ul>
</li>

ですが、この出力結果を後から操作したり、出力結果から例えばリンク URL だけを取得したい場合などがある場合、以下のようにすれば、PHP の値として結果を受け取ることができます。

1
$output = wp_list_bookmarks(Array('echo' => false));

例として、リンクからタイトルと URL の一覧を取得したい場合は以下のような感じでできます。

1
2
3
4
5
6
7
8
9
$output = wp_list_bookmarks(Array('echo' => false));
include(dirname(__FILE__) . '/simplehtmldom_1_5/simple_html_dom.php');
$data = str_get_html($output);
foreach($data->find('a') as $element){
    echo $element->plaintext;
    echo '<br>';
    echo $element->href;
    echo '<br>';
}

タイトルと URL の一覧を取得する方法をもっと詳しく知りたい人は以下の記事を参考にしてください。

HTML からリンクのタイトルと URL を PHP Simple HTML DOM Parser を使って取得する | ウェブル

URL の一覧を出力するにはアクションを使うと良いと思うかもしれませんが、特定の場所だけでリンクの URL 一覧が必要で、後のところでは普通にリンク一覧を出力したい場合には、不用意にアクションを追加できませんので、そういう場合に有効です。

コメント

コメントは受け付けていません。