WordPress 有个很大的优点,就是能够对各个方面进行自定义。如果您懂得代码,可以自定义代码并将其添加到主题的 Functions.php 中。如果您不懂代码,可以在网上找到实现各种功能的代码,只需搜索并找到对应的代码,然后将其添加到 Functions.php 文件中。今天牛奇网就为您介绍一些非常有用的功能代码片段。
1.禁用管理工具栏
如果想禁用登录用户在页面上方的 WordPress 管理工具栏,请在当前主题 functions.php 文件中添加以下代码。
<?php
//Disable WordPress admin bar for all logged in users
add_filter('show_admin_bar', '__return_false');
2. 在 RSS Feed 中显示文章缩略图
默认情况下,WordPress 只会在 RSS 摘要中显示文本,但如果你想显示你设置的特色图片,可以使用下面的代码。
同样将其添加到当前主题的 functions.php 文件中,将会在您网站的 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. 更改文章摘要下面的阅读更多文本
在很多国外 WordPress 主题摘要中,其下方都会添加一个“阅读更多”的链接。如果你要将其更改为其他内容,可以使用下面的代码。
<?php
// Changing excerpt more
function smartwp_change_excerpt_more_text( $more ){
global $post;
return '… <a class="read-more" href="'.get_permalink($post->ID).'" title="'.esc_attr(get_the_title($post->ID)).'">'.'Read More »'.'</a>';
}
add_filter('excerpt_more', 'smartwp_change_excerpt_more_text');
4.更改文章摘要的长度
默认情况下,WordPress 的文章摘要长度为 55 个单词。通过下面的代码可以对摘要的长度进行更改。
<?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,可以添加下面的代码来实现。同时确保将 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') . "https://cdn.smartwp.com/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 格式变得越来越流行,特别是对于 Logo 图片文件。默认情况下,出于安全原因,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,会导致一系列安全问题。添加此代码将禁用 XML-RPC 以提高网站安全性。
<?php
//Disable XML-RPC
add_filter('xmlrpc_enabled', '__return_false');
10. 移除 jQuery Migrate
在 WordPress 网站上,会引用一个 jquery-migrate.min.js 的JavaScript库,我们可以禁止引用这个 Jquery Migrate 文件,以提高网站的性能。
下面的代码将从您的网站中删除 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');
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/some-custom-code-snippets-in-wordpress/