WordPress:パーマリンクの取得はget_permalink()を使用する

WordPress投稿情報リンクURLを取得する時の方法をメモします。

取得した投稿情報のデータを見ると下記のように「guid」に記事のURLが入っています。

※例

Array
(
    [0] => WP_Post Object
        (
            [ID] => 1
            ・
            ・
            ・
            [guid] => http://raining.bear-life.com/?p=1
            ・
            ・
            ・
        )
)

「guid」にURL情報があるので、これを使ってしまいそうですが、
パーマリンクを取得する場合はget_permalink()を使用します。

get_permalink()にパーマリンクを取得する記事のIDを指定します。

<?php echo get_permalink($post->ID); ?>

パーマリンクを変更していない場合は「guid」のURLを使用してもいいのですが、
パーマリンクの設定を変更している場合は、「guid」のURLと表示されるURLが違うので
「get_permalink()」を使用してパーマリンクを取得した方がいいと思います。

Fuelphp:Uriクラスを使用し、URLのセグメントを取得

FuelphpURLセグメントを利用し、処理を変更したり判断させたりすることをすることが多くあります。
Uriクラスを使用すれば簡単にURLセグメントを取得することが可能です。

今回はFuelphpUriクラスを使用して、URLセグメント情報を取得する方法をメモします。


segment()

引数で指定した番号のセグメントを取得します。
セグメントがない場合はfalseを返します。

Uri::segment(セグメント番号, デフォルト値);

使用方法

「http://www.example.com/test/hoge/」でアクセスした場合

$str = Uri::segment(2);
var_dump($str);

2つ目のセグメントを取得することができます。

string(4) "hoge"

segments()

URLの全てのセグメントを配列で取得します。

Uri::segments();

使用方法

「http://www.example.com/test/hoge/」でアクセスした場合

$arr = Uri::segments();
var_dump($arr);

セグメントを配列で取得することができます。

array(2) { [0]=> string(4) "test" [1]=> string(4) "hoge" }

「/fuel/app/config/routes.php」で「(:num)」や「(:any)」などで指定した場合、セグメントの情報によってデータを取得したり、処理を変更したりなど色々な使い方ができると思います。