我有一个奇怪的问题。我将dashicons包括在前端到
add_action( \'wp_enqueue_scripts\', \'load_dashicons_front_end\' );
function load_dashicons_front_end() {
wp_enqueue_style( \'dashicons\' );
}
然后,我在菜单项的导航标签中输入dashicon HTML,例如:
<span class="dashicons dashicons-admin-home"></span> Home
我还在博客存档中包含一些代码,将文章标题截断为前7个单词:
add_filter( \'the_title\', \'wpse_75691_trim_words\' );
function wpse_75691_trim_words( $title )
{
// limit to 7 words
return wp_trim_words( $title, 7, \'...\' );
}
但当trim功能运行时,dashicons会消失。它适用于整个网站,除了我有截断代码的博客页面。我想我也有类似的问题
this post.
但我不知道如何继续。我已经在博客档案上运行了这个功能,所以问题只存在于那里。
最合适的回答,由SO网友:Jacob Peattie 整理而成
您的问题是,您的过滤器正在将所有标题修剪为7个“单词”。这包括博客帖子、页面、菜单项标签、修订名,甚至产品名称(如果您有产品的话)。
您需要调整过滤器,使其不那么咄咄逼人,只针对需要截断的标题。例如,以下代码将仅截断标题:
主循环中的帖子在前端
function wpse_360758_trim_words( $title, $post_id ) {
if ( is_admin() ) {
return $title;
}
if ( in_the_loop() && \'post\' === get_post_type( $post_id ) ) {
$title = wp_trim_words( $title, 7, \'...\' );
}
return $title;
}
add_filter( \'the_title\', \'wpse_360758_trim_words\', 10, 2 );