分类目录归档:日志

隐藏 WordPress 后台不常用功能菜单,增加后台易用性

对普通用户来说, WordPress 后台的有些菜单是没用的,比如多媒体、工具等,没用的东西显示出来,除了造成 WordPress 后台界面的复杂性增加,还会带来一些安全性上的问题,比如某天一个客户心血来潮,安装了某个主题或插件、或者把后台的某些菜单删除了,网站页面一下子就显示不正常了。

其实维护一个网站所需要的功能也就是发布或更新一下文章,其他的功能设置好之后,需要改动的情况真的很少。在把 WordPress 站点交付给普通用户使用之前,我们可以把对他们来说没用的菜单隐藏掉,让普通用户只访问自己需要的功能,下面的代码可以帮助我们隐藏掉 WordPress 后台一些不常用的功能。

//移除后台无用的菜单
add_action( 'admin_menu', function(){
    remove_menu_page( 'index.php' ); //仪表盘
    remove_menu_page( 'upload.php' ); //多媒体
    remove_menu_page( 'edit.php?post_type=page' ); //页面
    remove_menu_page( 'edit-comments.php' ); //评论
    remove_menu_page( 'plugins.php' ); //插件
    remove_menu_page( 'tools.php' ); //工具
    remove_menu_page( 'options-general.php' ); //设置
});

remove_menu_page 的参数就是后台页面 URL 地址中最后一个“/” 后面的字符串,除了 WordPress 内置的一些地址,我们还可以通过这个方面隐藏掉一些插件或主题添加的菜单,只需要把该页面地址最后一个斜杠后面的字符作为 remove_menu_page 的参数添加到 remove_menus 的函数里面即可,有些特殊的页面,需要把后台地址最后一个?后面的字符作为作为 remove_menu_page 的值。

把以上代码加入到当前主题的 functions.php 文件中,即可达到隐藏 WordPress 后台不常用功能菜单的目的。

https://www.wpzhiku.com/remove-unuesed-menu-in-wordpress-admin/

PHP中的嵌套或内部类

我知道C,Java和甚至Ruby(和可能的其他编程语言)允许嵌套/内部类在主类中,允许使代码更面向对象和组织。

在PHP中,我想做一些这样的事情:

<?php
    public class User {
        public $userid;
        public $username;
        private $password;

        public class UserProfile {
            // Some code here
        }

        private class UserHistory {
            // Some code here
        }
    }
?>

这是可能在PHP吗?我该如何实现呢?如果这是不可能的,未来的PHP版本可能支持嵌套类?

继续阅读

oracle 对汉字 order by 排序

  1. 使用拼音排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_PINYIN_M');
  1. 使用笔画排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_STROKE_M');
  1. 使用偏旁部首排序
select * from t order by nlssort(field,'NLS_SORT=SCHINESE_RADICAL_M');

laravel 在 seeder 中使用 faker

use Illuminate\Database\Seeder;

use App\Comment;

class CommentsTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // Let's truncate our existing records to start from scratch.
        Comment::truncate();

        $faker = \Faker\Factory::create();

        // And now, let's create a few articles in our database:
        for ($i = 0; $i < 100; $i++) {
            Comment::create([
                'post_id' => random_int(1, 50),
                'user_id' => random_int(1, 14),
                'status' => random_int(0, 1),
                'content' => $faker->sentence,
            ]);
        }
    }
}

在Linux Ubuntu 18.04上安装.NET Core SDK

注册Microsoft密钥和订阅源

在安装.NET之前,您需要注册Microsoft密钥,注册产品存储库并安装所需的依赖项。这只需要每台机器完成一次。

打开命令提示符并运行以下命令:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

安装.NET SDK

更新可用于安装的产品,然后安装.NET SDK。

在命令提示符中,运行以下命令:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1

更多版本:https://www.microsoft.com/net/download/linux-package-manager/rhel/sdk-current

nginx 出现413 Request Entity Too Large问题的解决方法

使用php上传文件出现 nginx: 413 Request Entity Too Large 错误,解决方法如下:

  • php默认的文件上传是2M,打开php.ini,把 upload_max_filesize 和 post_max_size 修改为 20M(或更大),然后重启php-fpm。
  • nginx默认上传文件的大小是1M,打开nginx.conf(路径一般是 /etc/nginx/nginx.conf ),在 http{} 段中加入 client_max_body_size 20m; 20m为允许最大上传的大小,保存后重启nginx。