WordPress是一个开源的内容管理系统,它是使用PHP语言编写的。因此,它的运行环境必须支持PHP。同时,WordPress也需要依赖于MySQL数据库来存储和管理网站数据。
WordPress官方推荐的PHP版本是7.4或更高版本。这是因为PHP 7.4是一个稳定的版本,同时也提供了更好的性能和安全性。如果您使用的是旧版本的PHP,...
WordPress 10w+数据时, 解决SQL_CALC_FOUND_ROWS查询使网站变慢问题
WordPress在查询post列表时,默认会同时把文章数量也查询出来,
使用这种方式的有:get_posts 、query_posts和WP_Query。
get_posts在4.6.1+已经不用SQL_CALC_FOUND_ROWS,但是query_posts和WP_Query还是会用,所以还须优化。
具体语句如下:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1...
WordPress隐藏指定分类内容不在列表分类中显示
有些是考虑到特殊的内容不准备展现在列表中显示,但是是可以让搜索引擎收录的。于是,我们可以在首页或者分类展现loop调用的时候隐藏指定分类所在的ID。
<?php query_posts('cat=-3'); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
&l...
自动删除WordPress内容插入的图片宽度和高度样式
默认情况下,WordPress程序内容插入图片会自带1主题或者程序自带的图片高度和宽度,有些时候我们希望展现的图片高度和宽度是我们设定好的图片原本的宽度和高度样式。这样,我们可以用下面的代码实现,取消程序和主题自带的宽度和高度的限制,而是用图片本身默认的宽度和高度。
add_filter( 'post_thumb...
无需插件禁用WordPress生成1536×1536和2048×2048尺寸图片
我们在使用WordPress上传图片媒体文件的时候,是不是看到媒体库中有1536×1536和2048×2048的图片文件,当然这么大的文件会占用我们的服务器空间,如何禁止掉呢?
function remove_default_image_sizes( $sizes) {
unset( $sizes['1536x1536']);
unset( $sizes['2048x2048']);
...
无需插件实现实现WordPress登录保护
我们要知道,默认wordpress登录入口是 /wp-login.php,但是这个地址很多人都知道,包括心怀不测的。这里我们希望隐藏这个地址如何实现?当然有很多的插件可以实现登录保护。
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET[...
简单代码恢复WordPress经典小工具编辑器
从WordPress5.8版本开始,我们会发现小工具不是原来的传统编辑器模式,而且也变成古登堡编辑器。这里确实不是特别方便,如果我们希望恢复原来的经典小工具编辑器,那可以用下面简单代码实现。
add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' );
add_filter( ...
WordPress简单PHP代码屏蔽首页临时空白页面
考虑到我们有些时候临时维护或者有特定需要将WordPress首页短暂的屏蔽让打开是空白,一般我们可以通过设置默认首页优先权的方式设置,或者我们直接在 WordPress 模板首页中添加一个简单的代码判断屏蔽。
<!-- 隐藏首页 -->
<?php if(is_home()) { /* 判断首页 */ ?>
<script type="te...
简单代码去除WordPress JS和样式版本号
对于网站代码有严格挑剔的用户来说,我们尽可能的减少网站代码的体积。包括我们看到WordPress网站中用到的JS和CSS是有带版本号的。这里我们可以用代码去掉版本号。
function sb_remove_script_version( $src ){
$parts = explode( '?', $src );
return $parts[0];
}
add_filter( 'scr...
一行代码禁止WordPress图片LazyLoad懒加载 禁止图片延迟加载
从WordPress5.5版本开始,默认是有图片懒加载的。这里有些时候我们看到冲突看不到图片,这里我们可以直接禁止。
add_filter('wp_lazy_loading_enabled', '__return_false');
直接在 Functions.php 添加即可。