jjgrainger / wp-crumbs
简单的Wordpress面包屑导航。
v1.0.2
2015-01-22 13:24 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-18 18:33:40 UTC
README
简单的Wordpress面包屑导航
要求
安装
$ composer require jjgrainger/wp-crumbs
用法
基本用法
使用 the_crumbs
在模板中显示面包屑。
the_crumbs();
选项
可以传递一个可选的参数数组来修改面包屑输出。每个选项的默认值如下。
示例
the_crumbs( [ 'home' => 'Home', // Title for the Home (front page) link 'blog' => 'Blog', // Title for the blog home page 'seperator' => '/', // Seperator to use between each crumb (string or false) 'class' => 'crumbs', // The class(es) applied to the wrapper element ('crumbs', 'nav crumbs') 'element' => 'nav' // The HTML element to use (div, nav, ol, ul) ] );
输出
<nav class="crumbs"> <a href="http://site.com/">Home</a> <span class="sep">/</span> <a href="http://site.com/blog/">Blog</a> <span class="sep">/</span> <span>Single Post Title</a> </nav>
高级用法
get_crumbs()
使用 get_crumbs()
获取一个包含面包屑的数组。每个面包屑都有一个 标题
和 URL
。
示例
$breadcrumbs = get_crumbs(); print_r( $breadcrumbs );
输出
Array( [0] => Array( [title] => "Home" [url] => "http://site.com/" ) [1] => Array( [title] => "Blog" [url] => "http://site.com/blog/" ) [2] => Array( [title] => "My First Post" [url] => false ) )
您可以修改返回的数组,或创建一个函数来生成所需的输出。
get_crumbs
接受与 the_crumbs
相同的参数。
过滤器
您可以使用 get_crumbs
的过滤器进一步修改面包屑数组。这也会影响 the_crumbs
的输出。
示例
// Example: modify title for a custom post type function modify_crumbs( $crumbs ) { // if on events archive change title to shows if ( is_post_type_archive( 'event' ) || is_singular( 'event' ) ) { for ( $i = 0; $i < count($crumbs); $i++ ) { if ( $crumbs[$i]['title'] === 'Events' ) { $crumbs[$i]['title'] = "Shows"; } } } return $crumbs; } add_filter( 'get_crumbs', 'modify_crumbs' );
array_insert()
array_insert()
是一个函数,允许您在数组的特定索引处插入一个新元素。您可以在这里看到它的示例。
当修改面包屑路径时,您可以在特定位置添加新的面包屑。
示例
// Example: add post type archive on taxonomy archive page function modify_crumbs( $crumbs ) { // if on the events category archive page if ( is_tax( 'event-categories' ) ) { // create a new crumb $crumb = [ 'title' => "Shows", 'url' => site_url( '/shows' ), ]; // add the new crumb at the index of 1 $crumbs = array_insert( $crumbs, $crumb, 1 ); } return $crumbs; } add_filter( 'get_crumbs', 'modify_crumbs' );
注意
作者
Joe Grainger