Rumah > pembangunan bahagian belakang > tutorial php > wp文本小工具运行php代码实现面包屑导航步骤

wp文本小工具运行php代码实现面包屑导航步骤

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 13:19:24
asal
1124 orang telah melayarinya

在wordpress中,很多主题都提供了很多小工具,其中很有用的一个小工具就是文本小工具。

下面说一下具体如何让文本小工具运行php代码来实现面包屑导航。

1.首先在主题下的function.php中要先添加面包屑导航函数

//添加面包屑导航function iaccepted_breadcrumbs() {  $delimiter = '&raquo;';  $name = 'Home'; //text for the 'Home' link  $currentBefore = '<span>';  $currentAfter = '</span>';  if ( !is_home() && !is_front_page() || is_paged() ) {    echo '<div id="crumbs">';    global $post;    $home = get_bloginfo('url');    echo '<a href="' . $home . '"><font color=red>' . $name . '</font></a> ' . $delimiter . ' ';    if ( is_category() ) {      global $wp_query;      $cat_obj = $wp_query->get_queried_object();      $thisCat = $cat_obj->term_id;      $thisCat = get_category($thisCat);      $parentCat = get_category($thisCat->parent);      if ($thisCat->parent != 0) echo(get_category_parents($parentCat, TRUE, ' ' . $delimiter . ' '));      echo $currentBefore;      single_cat_title();      echo $currentAfter;    } elseif ( is_day() ) {      echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';      echo '<a href="' . get_month_link(get_the_time('Y'),get_the_time('m')) . '">' . get_the_time('F') . '</a> ' . $delimiter . ' ';      echo $currentBefore . get_the_time('d') . $currentAfter;    } elseif ( is_month() ) {      echo '<a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a> ' . $delimiter . ' ';      echo $currentBefore . get_the_time('F') . $currentAfter;    } elseif ( is_year() ) {      echo $currentBefore . get_the_time('Y') . $currentAfter;    } elseif ( is_single() ) {      $cat = get_the_category(); $cat = $cat[0];      echo get_category_parents($cat, TRUE, ' ' . $delimiter . ' ');      echo $currentBefore;      the_title();      echo $currentAfter;    } elseif ( is_page() && !$post->post_parent ) {      echo $currentBefore;      the_title();      echo $currentAfter;    } elseif ( is_page() && $post->post_parent ) {      $parent_id  = $post->post_parent;      $breadcrumbs = array();      while ($parent_id) {        $page = get_page($parent_id);        $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';        $parent_id  = $page->post_parent;      }      $breadcrumbs = array_reverse($breadcrumbs);      foreach ($breadcrumbs as $crumb) echo $crumb . ' ' . $delimiter . ' ';      echo $currentBefore;      the_title();      echo $currentAfter;    } elseif ( is_search() ) {      echo $currentBefore . get_search_query() . $currentAfter;    } elseif ( is_tag() ) {      echo $currentBefore;      single_tag_title();      echo $currentAfter;    } elseif ( is_author() ) {       global $author;      $userdata = get_userdata($author);      echo $currentBefore .' ' . $userdata->display_name . $currentAfter;    } elseif ( is_404() ) {      echo $currentBefore . 'Error 404' . $currentAfter;    }    if ( get_query_var('paged') ) {      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ' (';      echo __('Page') . ' ' . get_query_var('paged');      if ( is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author() ) echo ')';    }    echo '</div>';  }}
Salin selepas log masuk

2要让小工具能够运行php代码必须要现在主题下的functions.php中加入如下代码

//让小工具中可以嵌入php代码function php_text($text){	if (strpos($text, '<'.'?')!==false)	{		ob_start();		eval('?'.'>'.$text);		$text = ob_get_contents();		ob_end_clean();	}	return $text;}add_filter('widget_text', 'php_text', 90);
Salin selepas log masuk

这个样就能保证文本小工具中可以嵌入php代码并能正常执行。

3.选择要加入导航的位置,放置一个文本小工具,然后标题不需要填,内容填写如下:

您现在的位置:<?php if (functions_exists('iaccepted_breadcrumbs')) iaccepted_breadcrumbs(); ?>
Salin selepas log masuk

这样就完成了在文本小工具中运行php代码实现面包屑导航,具体效果可以看本文章上方的导航。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan