10个实用的WordPress代码片段

10个实用的WordPress代码片段

WordPress 最棒的地方之一就是可以自定义各个方面。您可以定制的东西太多了,很难知道从哪里开始,尤其是如果您是 WordPress 的新手。我们为您提供了一些我们最喜欢的 WordPress 代码片段,供您在网站上使用。

您可以使用 Code Snippets 插件或在主题的 functions.php 中添加这些代码片段。本文底部还将向你展示如何在 WordPress 中添加代码片段

下面是一些有用的 WordPress 代码片段:

1. 禁用管理工具栏

有些缓存系统要求您不要为登录用户和公共用户设置不同的代码,因此禁用 WordPress 管理工具栏在这种情况下非常有用。

如果你想在所有页面上为登录用户禁用 WordPress 管理工具栏,请在主题 functions.php 中使用以下代码段。

<?php
//Disable WordPress admin bar for all logged in users
add_filter('show_admin_bar', '__return_false');

2. 在 RSS 源中显示文章缩略图

默认情况下,WordPress 只会在 RSS 源中显示文本,但如果您想在 RSS 源中显示您设置的特色图片,此代码段就可以实现这一功能。

这将在网站 RSS 源的内容之前添加文章的特色缩略图。

<?php
//This will prepend your WordPress RSS feed content with the featured image
add_filter('the_content', 'smartwp_featured_image_in_rss_feed');
function smartwp_featured_image_in_rss_feed( $content ) {
 global $post;
 if( is_feed() ) {
 if ( has_post_thumbnail( $post->ID ) ){
 $prepend = '<div>' . get_the_post_thumbnail( $post->ID, 'medium', array( 'style' => 'margin-bottom: 10px;' ) ) . '</div>';
 $content = $prepend . $content;
 }
 }
 return $content;
}

3. 更改摘要的 “Read More” 文本

无论您是想更改 WordPress 中的 “Continue Reading” 文本,还是想用 HTML 将其变成一个按钮,下面的代码段都能让您更改摘要的 “Read more”。

<?php
// Changing excerpt more
function smartwp_change_excerpt_more_text( $more ){
 global $post;
 return '&hellip; <a class="read-more" href="'.get_permalink($post->ID).'" title="'.esc_attr(get_the_title($post->ID)).'">'.'Read More &raquo;'.'</a>';
}
add_filter('excerpt_more', 'smartwp_change_excerpt_more_text');

4. 更改文章摘要长度

默认情况下,WordPress 中的摘要长度为 55 个字。此代码片段将把摘要长度改为 24 个字,但您也可以根据自己的需要随意调整。

<?php
//Change the default excerpt length in WordPress (default is 55 words)
function smartwp_change_excerpt_length( $length ) {
 return 24;
}
add_filter( 'excerpt_length', 'smartwp_change_excerpt_length', 9999);

5. 用 PHP 添加管理员用户

面对现实,我们都曾被锁定在 WordPress 网站之外,或者不得不在没有登录信息的情况下在新网站上工作。

这段代码可以使用主题的 function.php 为网站添加一个新的管理员。

我曾在很多 WordPress 网站上工作过,这些网站没有正确配置电子邮件服务器,因此即使有登录信息也很难访问网站。

该代码段将使用变量中设置的用户名/密码/电子邮件创建一个用户。值得注意的是,它只会在用户名/电子邮件不存在的情况下尝试创建用户,因此如果你已经有一个带有电子邮件地址的账户,你可以用虚拟数据填写电子邮件。

<?php
//Create an admin user
function smartwp_create_admin_user(){
 $username = 'yourusername';
 $password = '2JyAEQJ9B9Jf5T8a';
 $email = 'change@me.com';
 //This will ensure it only tries to create the user once (based on email/username)
 if ( !username_exists( $username ) && !email_exists( $email ) ) {
 $userid = wp_create_user( $username, $password, $email );
 $user = new WP_User( $userid );
 $user->set_role( 'administrator' );
 }
}
add_action('init', 'smartwp_create_admin_user');

6. 在文本小工具中启用简码

简码在 WordPress 中非常强大,在部件中使用它们很有帮助。此代码段将允许您在文本小工具中添加简码并执行它们。

<?php
//Enable shortcodes in text widgets
add_filter('widget_text', 'do_shortcode');

7. 添加自定义仪表盘 Logo

如果您想为 WordPress 网站添加更多品牌标识,此代码段将替换仪表盘左上角的 Logo。

自定义仪表盘 Logo

确保上传 admin-icon.png 到主题目录。您还可以更改 CSS,在 background-image 属性中链接到任何文件。

<?php
//Adds a custom logo to the top left of the WordPress admin
function smartwp_custom_logo_wp_dashboard() {
 echo "<style type='text/css'>
 #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon:before {
 background-image: url('" . get_bloginfo('stylesheet_directory') . "/admin-icon.png');
 background-size: contain;
 background-position: 0 0;
 color:rgba(0, 0, 0, 0);
 }
 #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon {
 background-position: 0 0;
 }
 </style>";
}
add_action('wp_before_admin_bar_render', 'smartwp_custom_logo_wp_dashboard');

8. 允许上传 SVG

SVG 格式越来越受欢迎,尤其是徽标文件。当然,您可以使用插件或代码片段来启用这一功能。

出于安全考虑,WordPress 默认不允许上传 SVG,但我们的代码片段只允许网站管理员上传 SVG 文件。

<?php
//Enable SVG upload
function smartwp_enable_svg_upload( $mimes ) {
 //Only allow SVG upload by admins
 if ( !current_user_can( 'administrator' ) ) {
 return $mimes;
 }
 $mimes['svg'] = 'image/svg+xml';
 $mimes['svgz'] = 'image/svg+xml';
 
 return $mimes;
}
add_filter('upload_mimes', 'smartwp_enable_svg_upload');

9. 在 WordPress 中禁用 XML-RPC

你很少需要在 WordPress 网站上启用 XML-RPC,但启用它可能会导致一系列安全问题。

如果你使用 WordPress 应用程序,你可能需要继续启用它,但我很少看到启用 XML-RPC 的情况。

本代码段将禁用 XML-RPC,以提高网站安全性。

<?php
//Disable XML-RPC
add_filter('xmlrpc_enabled', '__return_false');

10. 移除 jQuery Migrate

如果您正试图提高网站性能,您可能已经注意到 jQuery Migrate 正在您的网站上加载。如果打开控制台,你会看到 “JQMIGRATE: Migrate is installed, version 1.4.1″。

jQuery Migrate

jQuery Migrate 增加了对旧版本 jQuery 的支持,通常对旧主题很有用。根据我的经验,很少需要它,所以最好将其移除,以减少页面加载时的一个请求。

下面的代码段将移除网站上的  jQuery Migrate。移除 jQuery Migrate 后,查看几个页面,确保网站仍能正常运行。

<?php
//Remove jQuery migrate
function smartwp_remove_jquery_migrate( $scripts ) {
 if ( !is_admin() && !empty( $scripts->registered['jquery'] ) ) {
 $scripts->registered['jquery']->deps = array_diff( $scripts->registered['jquery']->deps, ['jquery-migrate'] );
 }
}
add_action('wp_default_scripts', 'smartwp_remove_jquery_migrate');

注:您可以通过安装 WPTurbo 插件快速实现上述诸如禁用 emoji、禁用前端管理员栏、禁用 XML-RPC 和移除 jquery migrate 等代码片段功能,而无需向WordPress添加代码片段或者安装代码片段插件实现。

如何在 WordPress 中添加代码片段

如果您需要帮助在 WordPress 中添加 PHP 代码片段最简单直接的方法是通过 Code Snippets 插件。

向 WordPress 网站添加代码的最简单方法之一就是使用 Code Snippets 插件。

这个 WordPress 插件能让你在一个简单易用的界面上轻松组织和添加代码片段。

Code Snippets 插件界面

Code Snippets 插件界面

最重要的是,你可以轻松选择代码片段的运行位置,并将其关闭或打开。非常适合 PHP 代码片段初学者。

感谢您查看这些实用的 WordPress 代码片段。这些代码片段可以添加到主题的 function.php 中,也可以使用 Code Snippets 这样的插件添加。

评论留言