更改 WordPress 粘性类名称

问题描述 投票:0回答:1

不幸的是,Foundation 和 WordPress 都使用“sticky”类。为了避免这种情况,我总是使用一个小函数将 WordPress 的类更改为“wp-sticky”。然而,该功能现在似乎将该类应用于每个帖子(包括非粘性帖子)。

function remove_sticky_class($classes) {
    $classes = array_diff($classes, array("sticky"));
    $classes[] = 'wp-sticky';
    return $classes;
}
add_filter('post_class','remove_sticky_class');

关于如何仅更改粘性类名称(而不是使其适用于所有帖子)有什么想法吗?

编辑:它确实在粘性帖子上将“粘性”替换为“wp-sticky”,但是,它也将其添加到非粘性帖子中。

php arrays wordpress zurb-foundation
1个回答
1
投票

它可能从未像最初预期的那样发挥作用。问题是在将

'sticky'
添加到数组之前,没有条件来检查
$classes
是否在
'wp-sticky'
数组中。

function remove_sticky_class( $classes ) {
    if ( in_array( 'sticky', $classes, true ) ) {
        $classes = array_diff($classes, array('sticky'));
        $classes[] = 'wp-sticky';
    }
    return $classes;
}
add_filter( 'post_class', 'remove_sticky_class' );
© www.soinside.com 2019 - 2024. All rights reserved.