我想整合get_post_meta
进入wp_list_pages
混合,以便只有在帖子的“自定义字段”部分中存在关键字时,才将任何顶级父列表项替换为图像。我不能用特色图片b/c,它已经被用于帖子本身的另一个目的。
这是我在函数中的Walker\\u Page类。php:
/**
* Extend the default page walker class to append class names for pages that
* are parents.
* @uses Walker_Page
*
* http://wordpress.stackexchange.com/questions/11821/class-parent-for-wp-list-pages
*
*/
class My_Page_Walker extends Walker_Page
{
/**
* Filter in the classes for parents.
*/
function _filterClass( $class )
{
$class[] = \'parent\'; // change this to whatever classe(s) you require
return $class;
}
/**
* This is effectively a wrapper for the default method, dynamically adding
* and removing the class filter when the current item has children.
*/
function start_el( &$output, $page, $depth, $args, $current_page )
{
if ( !empty($args[\'has_children\']) )
add_filter( \'page_css_class\', array( &$this, \'_filterClass\') );
parent::start_el( $output, $page, $depth, $args, $current_page );
if ( !empty($args[\'has_children\']) )
remove_filter( \'page_css_class\', array( &$this, \'_filterClass\') );
}
}
因此,我目前正在使用wp_list_pages
要显示自定义帖子类型的帖子,请执行以下操作:<ul class="items"><?php
$args = array(
\'walker\'=>new My_Page_Walker,
\'post_type\' => \'region\',
\'menu_class\' => \'nav-menus\',
\'title_li\' => \'\'
);
wp_list_pages($args);
?>
</ul>
它会输出以下代码:<ul class="items">
<li class="page_item page-item-123 parent"><a href="/wordpress/region/city/" title="city">City</a>
<ul class=\'children\'>
<li class="page_item page-item-124 parent"><a href="/wordpress/region/city/suburb/" title="Suburb">Suburb</a>
<ul class=\'children\'>
<li class="page_item page-item-125"><a href="/wordpress/region/city/suburb/complex/" title="Complex">Complex</a></li>
</ul>
</li>
</ul>
</li>
</ul>
我想要以下内容:<ul class="items">
<li class="page_item page-item-123 parent"><a href="/wordpress/region/city/" title="city"><img src="city-name.jpg" alt="City" /></a>
<ul class=\'children\'>
<li class="page_item page-item-124 parent"><a href="/wordpress/region/city/suburb/" title="Suburb">Suburb</a>
<ul class=\'children\'>
<li class="page_item page-item-125"><a href="/wordpress/region/city/suburb/complex/" title="Complex">Complex</a></li>
</ul>
</li>
</ul>
</li>
</ul>
在哪里city-name.jpg
在“自定义字段”部分中定义。它应该只显示具有自定义字段的帖子标题。这是一个非常复杂的代码量,我不能使用wp_list_pages
? 老实说,我在网上找不到答案。