PHP
SEO
パンくず

PHPでパンくずリストHTML生成

色々なところを参考に作成したのでメモ書き

function.php
    /**
     * パンくず生成
     *
     * @param array $bread_crumns_list パンくずリスト
     *     key => display_name 表示名
     *     val => link 遷移先
     */
    public function bread_crumns($bread_crumns_list) {
        $item_position_num = 1;
        $bread_crumns = "<ol itemscope='itemscope' itemtype='http://schema.org/BreadcrumbList'>\n";
        foreach ($bread_crumns_list as $display_name => $link) {
            $bread_crumns .= "<li itemprop='itemListElement' itemscope='itemscope' itemtype='http://schema.org/ListItem'>\n";
            $bread_crumns .= "<a itemprop='item' href='{$link}'>";
            $bread_crumns .= "<span itemprop='name'>{$display_name}</span>";
            $bread_crumns .= "</a>\n";
            $bread_crumns .= "<meta itemprop='position' content='{$item_position_num}' />";
            $bread_crumns .= "</li>\n";
            ++$item_position_num;
        }
        $bread_crumns .= "</ol>\n";
        return $bread_crumns;
    }

使い方としては下記を参考にどうぞ

view.php
        $transition_list = [
            "TOP" => "/",
            "記事一覧" => "/posts",
            "記事" => "/post/1",
        ];
        $bread_crumns = $this->bread_crumns_html($transition_list);
        print_r($bread_crumns);