首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Walker类未找到错误

Walker类未找到错误
EN

Stack Overflow用户
提问于 2015-12-17 12:47:11
回答 2查看 3.6K关注 0票数 0

嗨,我是第一次使用wordpress。我正试图将walker类与我的项目不相关,该项目位于

代码语言:javascript
复制
D:\wamp\www\SgsOnline\wp-content\themes\storefront\inc\functions\walker.php

我把我的课包括在我的功能中

代码语言:javascript
复制
require get_template_directory() . '/inc/functions/walker.php';

我试着在头上把它叫做:

代码语言:javascript
复制
	function storefront_primary_navigation() {
		?>
		<nav id="site-navigation" class="main-navigation " role="navigation" aria-label="<?php esc_html_e( 'Primary Navigation', 'storefront' ); ?>">
		<button class="menu-toggle" aria-controls="primary-navigation" aria-expanded="false"><?php echo esc_attr( apply_filters( 'storefront_menu_toggle_text', __( 'Navigation', 'storefront' ) ) ); ?></button>
			<?php
			wp_nav_menu(
				array(
					'theme_location'	=> 'primary',
					'container_class'	=> 'primary-navigation',
					'menu_class'=>'nav navbar-nav navbar-left nav-tabs',
					'walker' => new Walker_Nav_Primary()
					)
			);
			?>
		</nav><!-- #site-navigation -->
		<?php
	}

但是我发现了一个错误:

致命错误:在第65行的D:\wamp\www\SgsOnline\wp-content\themes\storefront\inc\structure\header.php中找不到类'Walker_Nav_Primary‘

这是不经意的错误,因为它是在错误的地方为班级。如果有人有这方面的经验,那就太好了

问候

更新

这是类代码

代码语言:javascript
复制
<?php 
/* Collection of walker classes*/
class Walker_Nav_Primary extends Walker_Nav_menu {

	function start_lvl( &$output, $depth){ //ul
		$indent = str_repeat("\t", $depth );
		$submenu = ($depth > 0) 'sub-menu' : ''; //Detect if the lvls is a submenu
		$output .= "\n$indent<ul class=\"dropdown-menu$submenu depth_$depth\">\n";
	}


/*
	function end_lvl(){ // close ul

	}



	Not used at the moment 

	function start_el(){ // li, a, span

	}

	function end_el(){ // closing  li, a, span

	}
*/

}

EN

回答 2

Stack Overflow用户

发布于 2015-12-17 12:55:31

乍一看,文件路径似乎不正确。/是unix目录分隔符,但您需要使用\ for Windows。

代码语言:javascript
复制
$path_elements = array(get_template_directory(), 'inc', 'functions', 'walker.php');
require join(DIRECTORY_SEPARATOR , $path_elements);

Walker_Nav_Primary在速记if-else语句中有一个语法错误(逻辑表达式后面缺少问号).

代码语言:javascript
复制
$submenu = ($depth > 0) ? 'sub-menu' : '';
票数 1
EN

Stack Overflow用户

发布于 2015-12-17 16:35:07

我相信问题是你怎么称呼你的步行者..。

代码语言:javascript
复制
'walker' => new Walker_Nav_Primary()

应该只是..。

代码语言:javascript
复制
'walker' => new Walker_Nav_Primary

不需要。

如果包含walker.php文件的方式有问题,那么首先会出错,因为functions.php是在header.php之前运行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34334998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档