对 WordPress 网站进行自定义更改的有用代码

对 WordPress 网站进行自定义更改的有用代码
对 WordPress 网站进行自定义更改的有用代码

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 '&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 个单词。通过下面的代码可以对摘要的长度进行更改。

<?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/

(0)
上一篇 2022年4月10日 下午8:11
下一篇 2022年4月11日 下午3:06

相关推荐

发表评论

登录后才能评论