我不熟悉脚本,这是一个插件,我想修改它来输出post类。
当我尝试使用时:apply_filters( \'post_class\', $page->post_class )
it仅输出array=" "
. 我是否需要一个附加函数来连接到post类?在我的研究中,我无法判断我的语法是否错误,或者我在类中缺少了一个要“拉”的函数apply_filters
抓住。非常感谢你的帮助。
var $db_fields = array (\'parent\' => \'post_parent\', \'id\' => \'ID\');
function start_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\\t", $depth);
$output .= "\\n$indent<ul class=\'children\'>\\n";
}
function end_lvl(&$output, $depth = 0, $args = array()) {
$indent = str_repeat("\\t", $depth);
$output .= "$indent</ul>\\n";
}
function start_el(&$output, $page, $depth = 0, $args = array(), $id = 0) {
if ( $depth )
$indent = str_repeat("\\t", $depth);
else
$indent = \'\';
extract($args, EXTR_SKIP);
$output .= $indent . \'<li id="item_\'.$page->ID.\'" \'.apply_filters( \'post_class\', $page->post_class ).\'><span>\'.apply_filters( \'the_title\', $page->post_title, $page->ID ).\'</span>\';
}
SO网友:Elk
使用join()在慷慨的帮助下解决了此问题。。。
function start_el(&$output, $page, $depth = 0, $args = array(), $id = 0) {
if ( $depth )
$indent = str_repeat("\\t", $depth);
else
$indent = \'\';
extract($args, EXTR_SKIP);
$output .= $indent . \'<li id="item_\'.$page->ID.\'" class="\'.join( " ", get_post_class( "", $page->ID )).\'"><span>\'.apply_filters( \'the_title\', $page->post_title, $page->ID ).\'</span>\';
}