【WordPress】管理メニューのリンクをアクティベートするプラグイン「Link Manager」とPHPの具体的な記述方法

2019年5月20日

WordPress3.5より、管理画面で「リンク」が非表示となりました。
(補足ですが、現行の最新バージョンは5.2です)

この「リンク」機能について、ざっくり言うなれば、ブックマークみたいなものです。

自分の保存しておきたいWebページの「URL」、「名称」、「説明」等を任意で設定し、保存できます。

そして、状況に応じて倉庫から必要なリンク集を引っ張ってくるだけというイメージです。

ダッシュボード画面の全リンク集

投稿画面などで都度記述する必要がないわけですね。

特定の条件に基づいて抜き出すこともできるので便利です。
基本的にはPHPでWordPressの関数を使って記述する形になるとは思います。

実際にリンクの設定を行うには「Link Manager」というプラグインを使って表示します。

今回は、「Link Manager」の導入~実際の記述までを行い、簡単な例で確認します。
テーブル形式での表示をゴールとします。以下のようなイメージです。

リンク集(ゴール)

では、実際に進めていきます。

POINT

  • テーブル形式でリンク集を表示する(ゴール)
  • プラグイン「Link Manager」とphpを記述する

「Link Manager」の導入

こちらのリンクからZipファイルを取得します。

解凍したフォルダをFTPソフト等を用いて、「wp-contents/plugins」内に置きます。
WordPressの管理画面から有効化できるようになりますので、有効化すると「リンク」が表示されます。

「新規追加」の画面でリンクの登録を行うことが出来ます。

「リンク」新規追加画面

今回は、下の画像の「googleトップページ」と「Yahooトップページ」のリンクをテーブル形式で表示したいと思います。

ダッシュボード画面の全リンク集

wp_list_bookmarks()でリンク集を表示

wp_list_bookmarks()はリンク集を表示する関数です。

引数自体は様々あるのですが、まずはそのまま記述します。

wp_list_bookmarks()

余計な記述(ブックマーク)やリスト表示等の修正点がありますが、後々修正します。

とりあえず、リンクと名称のみが表示されている状態ですので、それぞれのリンクの説明も表示されるように引数を加えます。

wp_list_bookmarks('show_description=TRUE')

結果は以下の通りです。右側に説明が来ました。

引数の追加1

ただ、前述したようにリスト形式で記述されていたり、余計な記述(「ブックマーク」)が入っています。
(ちなみに、ブックマークは特にカテゴリを設定していない場合に出てきます)

実際のHTMLを確認しても明らかです。

<li id="linkcat-" class="linkcat">
<h2>ブックマーク</h2>
	<ul class="xoxo blogroll">
		<li>
			<a href="https://www.google.co.jp/" title="googleトップページ(検索窓及びGoogle関連サービス)">googleトップページ</a>
			googleトップページ(検索窓及びGoogle関連サービス)
		</li>
		<li>
		<a href="https://www.yahoo.co.jp/" title="yahooトップページ(検索窓及びYahoo関連サービス)">yahooトップページ</a>
		yahooトップページ(検索窓及びYahoo関連サービス)
		</li>
	</ul>
</li>

更に引数を追加(完成形)

余計な記述の削除及びテーブル化を、引数を追加することにより設定します。
以下のように記述すればOKです。

<table>
<?php wp_list_bookmarks('title_li=&show_description=TRUE&before=<tr><th>&link_after=</th><td>&after=</td>'); ?> 
</table>

それぞれの引数の機能は以下の通りです。

title_liリンクリストの見出し(デフォルトではブックマーク)
show_descriptionリンクの説明
before各リンクの前につけるテキスト(<a>タグの直前)
after各リンクの終わりにつけるテキスト
link_after各リンクの ハイパーリンクコードの後につけるテキスト(</a>の直後)

結果は以下の通りです。予めCSSで枠線を追加しています。

HTMLを確認しても、しっかりテーブル形式になっていることが確認できます。

<table>
	<tbody>
		<tr>
			<th><a href="https://www.google.co.jp/" title="googleトップページ(検索窓及びGoogle関連サービス)">googleトップページ</a></th>
			<td>googleトップページ(検索窓及びGoogle関連サービス)</td>
		</tr>
		<tr>
			<th><a href="https://www.yahoo.co.jp/" title="yahooトップページ(検索窓及びYahoo関連サービス)">yahooトップページ</a></th>
			<td>yahooトップページ(検索窓及びYahoo関連サービス)</td>
		</tr>
	</tbody>
</table>

終わりに

少し長くなりましたが、実際の流れとしては

  1. プラグインの導入
  2. PHPをコピペ

だけで終わりますのでそんなに手間もかからないかと思われます。

使い慣れると便利ですので、是非お試しください。

※補足
Link Managerを停止すると、非表示となり管理画面から編集は出来ません。
なお、ページ上の表示までは消えません。
Link Managerはあくまで非表示となっているものを表示させるためのプラグインであり、設定自体はデータベース上に存在しているためと思われます。

その他のプラグインはこちら。