不幸的是,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”,但是,它也将其添加到非粘性帖子中。
它可能从未像最初预期的那样发挥作用。问题是在将
'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' );