写wordpress模板调用文章内容一直用的是“ $post->post_content”标签,但是有一个用户反馈文章内容不断行。
我进网站看了下发现问题所在,用户没有用古腾堡编辑器发布文章,而是使用的老版的编辑器,老版编辑器奇葩的地方在于,编辑文章的时候按回车键编辑器里面会换行,但是没有加任何html标签,纯文字断行。“ $post->post_content”标签是直接读取数据库里面的文章正文内容,后台编辑文章是啥样显示出来就是啥样,所以就没有断行。
怎么办呢?其实换成“the_content()”标签就行了。
但是更奇葩的来了,换了之后使用老版编辑器的网站显示正常,使用了古腾堡编辑器的网站则输出为空,我打印“the_content()”输出是null。
所以这个问题应该就是wordpress程序版本升级跨度太大扯到蛋了。
本来本文到此就结束了,但是为了彻底解决这个问题,我就搜索了下如何判断古腾堡编辑器是否启用,然后根据这个判断来输出对应标签。
结果一番搜索后发现古腾堡不是作为一个插件存在的,而是被内置进去了。这个思路失效。
最后只能新建了一个开关,用户在后台设置是否开启,根据用户设置来输出对应标签,完整代码如下:
后台:
if (get_option('应用ID')['gutenberg_on'] == '0') { add_filter('use_block_editor_for_post', '__return_false'); //禁用古腾堡编辑器 }
前台:
post_content : the_content();?>
这样就勉强能用了。
还没有评论呢,快来抢沙发~