几个实用的 WordPress 代码片段

前端之家收集整理的这篇文章主要介绍了几个实用的 WordPress 代码片段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

贴几个最近用到 wordpress代码片段,代码均搜集于网络,使用方式都是添加主题functions.PHP 文件

“Talk is cheap. Show me the code.” —— Linus Torvalds

搜索结果页面关键字高亮

搜索结果页中的标题和正文的关键字添加 highlight 类,然后你就可以通过 CSS 设定高亮样式了。

PHP">function qq52o_highlight_search_keywords($text){
    if ( is_search() ) {
        $s = get_search_query();
        $keys = explode(' ',$s);
        $text = preg_replace('/(' . implode('|',$keys) . ')/iu','',$text);
    }
    return $text;
}
add_filter( 'the_title','qq52o_highlight_search_keywords' );
add_filter( 'the_excerpt','qq52o_highlight_search_keywords' );

搜索关键字为空时自动跳转首页

默认情况下,如果关键字为空,wordpress 会列出所有的文章。谁会这么无聊… 不如自动跳转首页

PHP">function qq52o_redirect_blank_search( $query_variables ) {
    if ( isset( $_GET['s'] ) && empty( $_GET['s']) ) {
        wp_redirect( home_url() );
        exit;
    }
    return $query_variables;
}
add_filter( 'request','qq52o_redirect_blank_search' );

关闭文章标签功能

用不到标签,留着碍眼?去掉吧,就这么简单粗暴。

PHP">function qq52o_unregister_post_tag() {
    unregister_taxonomy_for_object_type('post_tag','post');
}
add_action( 'init','qq52o_unregister_post_tag' );

清理 wordpress 菜单中的 classes

wordpress 菜单默认会输出一堆然并卵的 classes。如果你有洁癖,可以只保留你觉得有用的 classes,比如我觉得 current-menu-itemmenu-item-has-children 最有用了。

PHP">function qq52o_cleanup_nav_menu_class( $classes ) {
    return array_intersect($classes,array(
        'current-menu-item','menu-item-has-children'
    ));
}
add_filter( 'nav_menu_css_class','qq52o_cleanup_nav_menu_class' );

自动设置文章的第一张图为特色图像

懒得每次手动设置特色图像?这段代码可以自动文章上传第一张图片设置为特色图像。(不支持外链图片

ID);
    if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
        if ($attached_image) {
            foreach ($attached_image as $attachment_id => $attachment) {
                set_post_thumbnail($post->ID,$attachment_id);
            }
        }
    }
}
add_action( 'the_post','qq52o_autoset_featured_image' );
add_action( 'save_post','qq52o_autoset_featured_image' );
add_action( 'draft_to_publish','qq52o_autoset_featured_image' );
add_action( 'new_to_publish','qq52o_autoset_featured_image' );
add_action( 'pending_to_publish','qq52o_autoset_featured_image' );
add_action( 'future_to_publish','qq52o_autoset_featured_image' );

添加代码

这段代码是把 [attachment id="1,2,3"] 输出为一个附件列表。

PHP">function qq52o_attachment_shortcode( $atts ) {
 $ids = explode(',',$atts['ids']);
 $html = '';

foreach ($ids as $id) {
$url = wp_get_attachment_url( $id );
$name = basename($url);
$html .= '

  • <a class="file" href="' . $url . '" target="_blank">' . basename($url) . '
  • ';
    }
      return '<div class="attachment-Box"><h5 class="title">附件:
      ' . $html . '
    ';
    }
    add_shortcode( 'attachment','qq52o_attachment_shortcode' );

    原文链接:https://www.f2er.com/wordpress/67704.html

    猜你在找的wordpress相关文章