1 WordPress自定义主题出现致命错误怎么办?
在本地电脑测试更换新WordPress主题,尝试自定义主题时,出现以下致命错误 ▼
如果在打开WordPress自定义主题和背景菜单时,会遇到类似以下的致命错误:
Fatal error: Uncaught exception 'Exception' with message 'Supplied nav_menu_item value missing property: description' in D:\xampp\htdocs\wp\ceshimuban\wp-includes\customize\class-wp-customize-nav-menu-item-setting.php:183 Stack trace: #0 D:\xampp\htdocs\wp\ceshimuban\wp-includes\class-wp-customize-nav-menus.php(820): WP_Customize_Nav_Menu_Item_Setting->__construct(Object(WP_Customize_Manager), 'nav_menu_item[1...', Array) #1 [internal function]: WP_Customize_Nav_Menus->customize_register(Object(WP_Customize_Manager)) #2 D:\xampp\htdocs\wp\ceshimuban\wp-includes\class-wp-hook.php(303): call_user_func_array(Array, Array) #3 D:\xampp\htdocs\wp\ceshimuban\wp-includes\class-wp-hook.php(327): WP_Hook->apply_filters('', Array) #4 D:\xampp\htdocs\wp\ceshimuban\wp-includes\plugin.php(470): WP_Hook->do_action(Array) #5 D:\xampp\htdocs\wp\ceshimuban\wp-includes\class-wp-customize-manager.php(933): do_action('customize_regis...', Object(WP_Customize_Manager)) #6 [internal function]: WP_Customize_Manager->wp_loaded('') #7 D:\xampp\htd in D:\xampp\htdocs\wp\ceshimuban\wp-includes\customize\class-wp-customize-nav-menu-item-setting.php on line 183 There has been a critical error on this website. Please check your site admin email inbox for instructions. Learn more about troubleshooting WordPress.
我们可以在WordPress主题的function.php
文件中,添加以下代码修复它:
/** * 解决WordPress自定义主题时出现致命错误 By 我们网站 * https://www.wordpressx.com/cwl-19302.html **/ add_filter('wp_get_nav_menu_items', 'my_wp_get_nav_menu_items', 10, 3); function my_wp_get_nav_menu_items($items, $menu, $args) { foreach($items as $key => $item) $items[$key]->description = ''; return $items; }
我们经过测试,WordPress主题的function.php
文件中,添加以上代码后,是可以解决WordPress Fatal error: Uncaught exception ‘Exception’ with message ‘Supplied nav_menu_item value missing property: description’的问题。
希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress自定义主题出现致命错误怎么办?添加代码解决》,对您有帮助。
1 WordPress怎么添加自定义字段?
如果使用WordPress建站,需要在WordPress的指定某篇文章或页面,页眉页脚加载PHP/JavaScrip/CSS代码,该如何实现?
我们可以使用WordPress强大的自定义字段,为指定的某篇文章或页面加载实现不同的JavaScript页面。
本文将向你展示:如何使用自定义字段在WordPress上,自定义JavaScript或CSS文件?
如果你能理解,自定义字段的值不像JavaScript和CSS文件那么简单。
通常是打开WordPress主题的header.php 页眉文件,找到代码 ▼
<?php wp_head(); ?>
在它之后添加 ▼
<!-- 指定文章页面加载head自定义字段代码 开始 --> <?php if (is_single() || is_page()) { $head = get_post_meta($post->ID, 'head', true); if (!empty($head)) { ?> <?php echo $head; ?> <?php } } ?> <!-- 指定文章页面加载head自定义字段代码 结束 -->
我们推荐通过WordPress插件添加以下指定文章页面加载foot自定义字段的PHP代码 ▼
<!-- 指定文章页面加载foot自定义字段代码 开始 --> <?php if (is_single() || is_page()) { $foot= get_post_meta($post->ID, 'foot', true); if (!empty($foot)) { ?> <?php echo $foot; ?> <?php } } ?> <!-- 指定文章页面加载foot自定义字段代码 结束 -->
WordPress后台编辑文章页面的编辑器中,有一个“自定义域”的小窗口。
head
由于你只输出“值”中是需要加载的代码,因此需要在“值”中,输入以下类似代码 ▼
<script type="text/javascript">...</script>
或者 ▼
<style type="text/css">...</style>
来输出以上代码。
如果在WordPress主题的header.php文件添加自定义字段PHP代码,更换WordPress主题后自定义字段的PHP代码会丢失,需要再给新主题添加自定义字段的PHP代码。
更好的解决办法是,使用Head, Footer and Post Injections插件,实现在文章帖子或页面的页面和页脚添加自定义字段的PHP代码。
WordPress怎么自定义页眉?可以通过以下文章说明安装WordPress插件实现在head或foot添加代码 ▼
WordPress如何在文章添加head代码?WP插件优化head代码
由于在这篇文章《WordPress怎么自定义页眉?安装WordPress页脚页眉插件》介绍的Header Footer Code Manager插件,目前无法添加PHP代码……因此,在WordPress插件官网搜索,找到了可以在页眉页……
希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress指定文章页眉页脚加载PHP/JavaScrip/CSS代码》,对您有帮助。
1 Easy WP Cleaner插件可以清理WordPress哪些数据?
Easy WP Cleaner插件是一个WordPress数据库清理和优化插件。
启用Easy WP Cleaner插件后,“设置” → “WP Clean Up”将进入操作界面。
可以看到Easy WP Cleaner插件的两个主要功能:
Easy WP Cleaner 是一个用户友好的插件,用于清除 WordPress 数据库中不必要的数据,如“修订”、“草稿”、“自动草稿”、“审核评论”、“垃圾评论”、“垃圾评论”、“孤立的 postmeta”、“孤立的” commentmeta”、“孤立关系”、“仪表板瞬时摘要”,这个插件还允许你优化你的 WordPress 数据库,而无需像 phpMyAdmin 这样的任何工具。
WP Clean Up
进行安装,或者WordPress官网下载并解压这个插件到 wp-content/plugins/Easy WP Cleaner
”。希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress怎样清理数据库?Easy WP Cleaner插件清理残留垃圾文件》,对您有帮助。
1 如何解决Fatal error: Unknown: Cannot use output buffering in output buffering display?
解决WordPress致命错误:未知:无法在第 0 行未知的输出缓冲显示
最近有网友尝试通过WordPress仪表板自定义网站的外观时,都会出现以下错误消息提示 ▼
“Fatal error: Unknown: Cannot use output buffering in output buffering display handlers in Unknown on line 0”
而且有一段时间没有添加任何新的WordPress插件了,但是不知道该怎么办?
很多学习WordPress建站的新手都不知道如何调试WordPress错误问题……
WordPress致命错误怎么解决?
WordPress网站搬家后,首页前台空白打开后台也空白,怎么办?
建议开启“WordPress调试模式”,对WordPress进行故障排除。
define('WP_DEBUG', false);
”,修改为“define('WP_DEBUG', true);
”/** * 开发者专用:WordPress调试模式 * * 将这个值改为true,WordPress将显示所有用于开发的提示 * 强烈建议插件开发者在开发环境中启用WP_DEBUG * * 要获取其他能用于调试的信息,请访问Codex * * @link https://codex.wordpress.org/Debugging_in_WordPress */ define('WP_DEBUG', true); //define('WP_DEBUG', false);
define('WP_DEBUG', false);
” 修改回“define('WP_DEBUG', false);
”。刷新出错网页后,就会显示类似以下造成WordPress错误的插件提示信息 ▼
Strict Standards: Redefining already defined constructor for class PluginCentral in /home/eloha/public_html/etufo.org/wp-content/plugins/plugin-central/plugin-central.class.php
on line 13
推荐使用Health Check & Troubleshooting插件排查,点击下方链接查看具体方法▼
WordPress错误怎么办?Health Check & Troubleshooting插件排查
当WordPress网站出现一些致命错误问题,找不到原因时,必须禁用所有插件,然后逐个启用,以便观察是WordPress主题,或是哪些WordPress插件造成冲突。但是,禁用所有WordPress插件,绝对会影……
我们发现 6 个WordPress插件,可能会造成WordPress致命错误:
希望我们网站( https://www.wordpressx.com/ ) 分享的《解决WordPress Fatal error: Unknown: Cannot use output buffering in output buffering display》,对您有帮助。
1 为什么BackWPup插件会出现Dropbox API: cURL error 28: Operation timed out?
如何解决修复BackWPup插件Dropbox上传失败并出现 cURL 超时错误问题?
最近将 BackWPup 与 Dropbox 帐户重新连接,但每次尝试运行BackWPup插件备份作业都失败,并出现以下错误 ▼
/home/user/public_html/wp-content/plugins/backwpup/src/Http/Client/WpHttpClient.php: Dropbox API: cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes received
它尝试了 3 次,每次都出现相同的错误,然后中止作业。
测试删除作业中的 Dropbox 身份验证并重新连接(改成第一个选项,即仅允许访问 App,而不是完全访问 Dropbox)。它仍然有同样的错误。
关于BackWPup插件 3.10.0 的 Dropbox 超时问题,这个版本其实使用原生的 WordPress Http 类,所以默认设置为 5 秒,太短了,导致了这个错误问题。
可以直接在WordPress主题的functions.php
文件中,添加以下代码 ▼
//解决Dropbox 上传失败并出现 cURL 超时错误 function __extend_http_request_timeout( $timeout ) { return 60; } add_filter( 'http_request_timeout', '__extend_http_request_timeout' );
延伸阅读:
WordPress出现REST API请求错误cURL error 28如何解决
WordPress性能错误:REST API请求因遇到了错误而失败。“CURL error 28”是一个常见的WordPress REST API问题,它可能会影响网站的性能并可能导致网站运行异常。 在本教程中,我们……
希望我们网站( https://www.wordpressx.com/ ) 分享的《修复BackWPup插件Dropbox上传失败并出现cURL超时错误》,对您有帮助。
1 如何隐藏WordPress代码内的版本号提示?
默认情况下,当你使用WordPress构建网站时,WordPress会在你的网站上留下版本号标记。
由于某些特殊原因,如果你使用旧版本的软件,暴露WordPress版本号可能会成为你网站的安全漏洞。
现在我们将告诉你如何隐藏WordPress版本号。
这是WordPress自动生成的代码,用于向外界宣布你使用的WordPress版本。
打开你的WordPress网站,右键单击空白区域并选择查看源代码,通常你会发现这样一行代码:
<meta name="generator" content="WordPress 5.8.1" />
因此,在这种情况下,你应该隐藏网站使用的WordPress版本号。
在你的WordPress网站中,有四个地方很容易公开WordPress的版本号:
假设你的网站总是使用最新版本的WordPress,你基本上不必担心由于泄露版本号而引起的安全问题。
在网络上隐藏WordPress版本号有很多技巧,还有最完面、最简洁的代码。
在模板的functions.php文件中,添加以下移除WordPress版本号的代码:
/* 在 js 文件和 css 文件中隐藏 WordPress 版本号 * @return {string} $src * @filter script_loader_src * @filter style_loader_src */ function cwl_remove_wp_version_strings( $src ) { global $wp_version; parse_str(parse_url($src, PHP_URL_QUERY), $query); if ( !empty($query['ver']) && $query['ver'] === $wp_version ) { $src = remove_query_arg('ver', $src); } return $src; } add_filter( 'script_loader_src', 'cwl_remove_wp_version_strings' ); add_filter( 'style_loader_src', 'cwl_remove_wp_version_strings' ); /* 在 generator meta 标签中隐藏 WordPress版本号 */ function cwl_remove_version() { return ''; } add_filter('the_generator', 'cwl_remove_version');
mv readme.html readme.bak.html
当然,上述做法隐藏了WordPress的版本号,并不能完全有效解决网站中存在的安全漏洞。
建议使用Wordfence Security安全插件扫描网站恶意代码。
希望我们网站( https://www.wordpressx.com/ ) 分享的《如何移除WordPress版本号?隐藏WordPress代码内版本号》,对您有帮助。
1 什么是 Redis 缓存?
你可能听说过 APC/APCu、Opcache、Xcache,它们可以显着加速 WordPress 或任何类型的受支持的 php 脚本。
在本教程中,我将向你展示如何使用 Redis 对象缓存加速 WordPress,我们将继续在 CWP 上安装 Redis 缓存,所以让我们开始吧。
第 1 步 :转到 CWP控制面板
导航到底部并找到“ redis
”并选中它然后点击“ Build
”按钮,在php重建过程完成后,你可以通过以下命令检查redis是否在运行 ▼
service redis status
你会得到这样的输出(在CentOS 7上测试,CentOS 6有不同的输出,比如“ running ”)
[[email protected] ~]# service redis status Redirecting to /bin/systemctl status redis.service ● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sun 2022-02-20 16:41:24 +08; 12s ago Main PID: 2486 (redis-server) Status: "Ready to accept connections" CGroup: /system.slice/redis.service └─2486 /usr/bin/redis-server 127.0.0.1:6379
此时一切都很好,现在输入以下命令,检查 php redis 是否安装好了 ▼
php -m | grep -i redis
输出将是这样的 ▼
[[email protected] ~]# php -m | grep -i redis redis [[email protected] ~]#
如果输出为 redis
,那么一切都很好,我们将继续安装 WordPress 和 Redis 的集成。
安装CWP7控制面板的方法,请看这里 ▼
如何安装CWP控制面板?CENTOS WEB PANEL配置教程
如何安装CWP控制面板? CENTOS WEB PANEL配置教程 网络推广人员用VPS建站,有众多免费或付费的控制面板可以选择。 在不知道要如何选择功能齐全的VPS控制面板时,推荐使用CWP控制面板。 什……
第 2 步 :在 WordPress 中启用 redis-object-cache 插件之前,你必须在 wp-config.php
文件中添加以下定义 ▼
define( 'WP_CACHE_KEY_SALT', 'www.wordpressx.com
:' );
www.wordpressx.com
替换为你的网站。第 3 步 :登录到 WordPress后台 → 转到“插件” → “安装插件” ▼
Redis Object cache
点此进入WordPress官网 免费下载Redis Object cache插件
第 4 步 :假设你已经安装了 Redis Object cache
插件,现在导航到 Redis 设置并单击“启用对象缓存”。
WordPress启用 Redis 缓存加速插件后,它将显示“已连接”,如下图所示 ▼
特别声明:如果默认安装的程序是英文的,截图理所当然是英文的。
使用如下命令查看本地Redis缓存是否生成 ▼
redis-cli monitor
Redis缓存也可能会导致WordPress插件和WordPress主题修改不生效。
手动删除Redis缓存的命令▼
redis-cli flushall
#进入redis redis-cli #清空 flushall #退出 exit
查看Redis的memory配置 ▼
redis-cli info memory
返回查询结果 ▼
# Memory used_memory:24645472 used_memory_human:23.50M used_memory_rss:40558592 used_memory_rss_human:38.68M used_memory_peak:140777552 used_memory_peak_human:134.26M used_memory_peak_perc:17.51% used_memory_overhead:1619888 used_memory_startup:811872 used_memory_dataset:23025584 used_memory_dataset_perc:96.61% allocator_allocated:24964648 allocator_active:26865664 allocator_resident:37646336 total_system_memory:17179869184 total_system_memory_human:16.00G used_memory_lua:37888 used_memory_lua_human:37.00K used_memory_scripts:0 used_memory_scripts_human:0B number_of_cached_scripts:0 maxmemory:0 maxmemory_human:0B maxmemory_policy:noeviction allocator_frag_ratio:1.08 allocator_frag_bytes:1901016 allocator_rss_ratio:1.40 allocator_rss_bytes:10780672 rss_overhead_ratio:1.08 rss_overhead_bytes:2912256 mem_fragmentation_ratio:1.65 mem_fragmentation_bytes:15954144 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_clients_slaves:0 mem_clients_normal:20496 mem_aof_buffer:0 mem_allocator:jemalloc-5.1.0 active_defrag_running:0 lazyfree_pending_objects:0 lazyfreed_objects:0
以下是启动Redis缓存后,如何配置pid文件的方法 ▼
Redis找不到pid?Redis启动后如何配置pid文件位置地址
Redis启动找不到pid文件位置?Redis的pid文件在哪里?Linux怎么查看Redis进程pid文件位置地址?Linux 查找redis进程命令 ▼ps -ef | grep redis返回显示以下查询结果 ▼redis 28221……
希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress怎么用Redis加速缓存插件?CWP开启Redis缓存》,对您有帮助。
1 WordPress如何制作超级菜单模板?
Mega Menu是一个可以个性化的超级导航栏,可以添加图片、视频等丰富的元素。 如果卖家网站页面多、产品多、品类多,可以升级卖家普通菜单,使用超级菜单Mega Menu。
我们可以用Elementor 编辑器的 ElementsKit 插件。
以上就是关于Mega Menu使用的相关内容,希望对你有所帮助。
希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress如何制作超级菜单模板?使用Mega Menu插件》,对您有帮助。
1 WordPress文章自动锚文本插件的好处
现在可以免费使用的WordPress文章自动锚文本插件,又支持中文关键词,如同凤毛麟角一般。
由于柳城发布的WP Keyword Link插件存在持久性跨站脚本(XSS)漏洞,而且很久没更新了,为了安全起见,绝对不能用。
连续测试了好几个WordPress插件都不支持中文自动锚文本。
终于找到了这个WordPress 的 100% 自动内部链接插件——Automatic Internal Links for SEO!
SEO插件的自动链接,是内部链接领域的一场革命。
★ ★ ★ ★ ★
使用内部链接策略可以提高你的 SEO排名。
安装Automatic Internal Links for SEO插件后,请花几分钟阅读以下解释,以了解要使用的功能。
pre
和code
同一页面上提供了可编辑的“日志”,允许你修改这些“自定义”链接中的每一个▼
因为Automatic Internal Links for SEO插件,目前没有提供批量导入关键词的的功能……
所以,我们需要自行研究批量导入关键词:
auto_internal_links
数据表,然后点击导出(以csv格式导出数据表);在创建 META 数据(搜索时由 Google 列出的标题和描述)时,在 Yoast SEO 或 Rank Math 的帮助下使用的“焦点关键字”(META 标签关键字)用于 SEO 的自动内部链接。
考虑到在你创建 META 数据时用作“焦点关键字”的单词(或单词组合)很重要,因为它们代表了你希望搜索引擎理解你的内容的主题,也是影响的因素之一,链接价值的作用是锚文本, 此插件将扫描你的网站以查找这些“焦点关键字”并识别/匹配找到它们的页面、文章或产品。
然后,它将扫描你网站的内容,寻找与这些“焦点关键字”相似的词或词组合(该插件在识别这些词方面提供了一定的灵活性,特别是通过“部分匹配,区分大小写”等选项……)。
一旦关键词被识别,这些将被自动转换为“锚文本”,并带有重定向到它们对应的页面的链接。
例如,如果你编写了一个页面,并将“UFO”一词定义为“焦点关键字”,该插件将扫描你的网站以查找“UFO”一词,一旦找到,它将自动创建指向该页面的链接找到这个“焦点关键字”的地方。如果你随后将此“焦点关键字”更改为其他内容,则先前创建的链接将被删除并创建新链接。
该插件的特殊之处在于对创建的新内容的检测是自动完成的!换句话说,该插件将不断扫描你的网站,寻找新的链接以从“焦点关键字”创建。
但还有更多!安装插件后,将为你提供 2 个选项:同步和自动链接。
SYNC 功能,根据选择的配置(优先级、链接数量等),甚至无需识别任何内容,将扫描你的网站以查找“焦点关键字”并自动创建所有相应的链接。完成后,根据你在网站上的活动,插件将通知你存在要同步的新链接。最后一个操作是手动的。
AUTO LINKS 功能是 100% 自动化的。换句话说,该插件将自动检测页面更新或创建的新页面并直接创建链接,而无需你执行任何操作。
因此,你的内部链接策略与你的内容创建是同时产生的,这将能提高你的 SEO 排名和流量。
点此进入WordPress官网免费下载 Automatic Internal Links for SEO 插件
希望我们网站( https://www.wordpressx.com/ ) 分享的《WordPress文章自动锚文本插件Automatic Internal Links for SEO》,对您有帮助。
在WordPress页面出现如下警告:
PHP Warning: Invalid argument supplied for foreach() in wp-adminincludesplugin.php on line 1771
打开被警告的文件找到对应行:
1
|
foreach ( $menu as $i => $item ) { |
是因为循环的数据不是一个有效的数组,因此我们只要在foreach之前判断一下数据源即可,修改为
1
2
3
|
if ( is_array ( $menu )){ foreach ( $menu as $i => $item ) … } |
或者修改为:
1
|
foreach ( ( array ) $menu as $i => $item ) { |