十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
WordPress长文章分页的操作步骤:
成都创新互联公司始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的全网推广解决方案,现已广泛运用于各行各业的客户,其中包括:人造雾等企业,备受客户表扬。
第一步:进入WordPress网站后台,在外观下找到“编辑”选项,然后找到文章页面模块single.php,在single.php中找到下面的代码
?php the_content(); ?
第二步:找到上面的代码之后,在其下方添加wordpress自带的分页功能函数代码:
?php wp_link_pages(); ?
第三步:第二步的代码可以实现简单的分页效果,如果你想让分页按钮更加美观的话,可以将第二步的代码替换成下面的调用代码:
?php wp_link_pages(array('before' = 'div分页阅读:', 'after' = '', 'next_or_number' = 'next', 'previouspagelink' = '上一页', 'nextpagelink' = "")); ? ?php wp_link_pages(array('before' = '', 'after' = '', 'next_or_number' = 'number', 'link_before' ='span', 'link_after'='/span')); ? ?php wp_link_pages(array('before' = '', 'after' = '/div', 'next_or_number' = 'next', 'previouspagelink' = '', 'nextpagelink' = "下一页")); ?
通过下面的CSS代码来控制分页按钮的显示样式,直接复制下面的CSS样式到style.css文件中,这样就可以实现下面的效果
/**页面分页**/
.fenye{text-align:center;margin:0px auto 10px;font-weight:bold}
.fenye span{background-color:#DDDDDD;color:#fff;font-weight: bold;margin:0px 1px;padding:1px 6px;display:inline-block;text-decoration:none;border:1px solid #e0e0e0;}
.fenye a{text-decoration:none;}
.fenye a span{background-color:#F6F6E8;font-weight: normal;color: #000;text-decoration: none;}
.fenye a:hover span{background-color:#DDDDDD;color: #fff;}
第四步:在文章中需要分页的位置插入分页代码【必须在代码文本模式下插入】
p!--nextpage--/p
第五步:如果觉得每次使用分页代码比较麻烦,可以通过在编辑器上方添加一个“分页按钮”来使用,即在文章中需要分页的地方点一下“分页按钮”就会自动的添加分页代码。【此步可做可不做】
1、找到 /wp-includes/class-wp-editor.php 文件。查找 ‘wp_more’, 标签:(在366行处)
$mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', '¦', 'bullist', 'numlist', 'blockquote', '¦', 'justifyleft', 'justifycenter', 'justifyright', '¦', 'link', 'unlink', SPAN style="TEXT-DECORATION: underline"STRONGSPAN style="COLOR: #ff0000; TEXT-DECORATION: underline"'wp_more',/SPAN/STRONG/SPAN '¦', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id);
2、在 ‘wp_more’ 后添加 ‘wp_page’, (含单引号和逗号)。修改后代码如下:
$mce_buttons = apply_filters('mce_buttons', array('bold', 'italic', 'strikethrough', '¦', 'bullist', 'numlist', 'blockquote', '¦', 'justifyleft', 'justifycenter', 'justifyright', '¦', 'link', 'unlink', SPAN style="TEXT-DECORATION: underline"STRONGSPAN style="COLOR: #ff0000; TEXT-DECORATION: underline"'wp_more','wp_page',/SPAN/STRONG/SPAN '¦', 'spellchecker', 'fullscreen', 'wp_adv' ), $editor_id);
3、此时,你就可以在后台写文章及编辑文章页面的文本编辑器上看到一个跟 more 标签按钮相似的图标。
同样,在代码编辑器也会相应出现一个 nextpage 按钮。
第六步:消除分类后不同页面的文章的标题相同的问题,避免影响网站SEO优化。在主题模板文件 header.php 找到类似 title……/title 代码,将其替换为如下代码。
?php if ( is_single() ) { ?title?php echo trim(wp_title('',0)); ??php if (get_query_var('page')) { echo '-第'; echo get_query_var('page'); echo '页';}? — ?php bloginfo('name'); ?/title?php } ?
第七步:实现分页功能后,会导致Feed页面的文章被分页,一般只显示第一页的内容,解决方法:打开 wp-includes 目录下的 query.php 文件,找到下面这行代码(大概在3578行)
if ( strpos( $content,'!–nextpage–' ) ) {
把它修改为下面这行代码。
if ( strpos( $content, '!--nextpage--' ) (!is_feed()) ) {
方法/步骤
第一种:使用more标签。
这是全人工不自动的控制文章截断的方法。很简单,只需要在你想要截断的地方添加一个more标签即可。
如果是使用WP的文本编辑,在工具栏的第一行有个“插入”more”标签”,如果是使用HTML编辑方式,手工输入就OK了~
第二种:修改模板,使用的是mb_strimwidth函数div ?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post-post_content)), 0, 200,"..."); ?/div其中0表示从哪个字符串开始截取200就是截取的字数,找到首页文章模板,然后找到其中的?php the_content(); ?
原因:
1)长时间没有进行操作,服务器自动设置退出。
2)文章内容的字数超出字数限制(合20000汉字)。
3)文章内容中含有非法字眼。
提示:
文章超过字数限制,请分两次或多次发表新文章。
如果写文章的时间过长,在提交前先全部复制内容一下,如果发表不成功,可以退后再次发表时黏贴内容,不至于写的文章丢失。 如果内容中含非法字眼,请检查内容删除非法的字眼
空格也算上的。
WordPress 基本自带的函数都是直接输出文章标题长度的,有些标题太长了就会自动换行,解决办法一种是使用mbstring函数库来解决,这样就可以指定具体标题字数,另一种也可以通过CSS的方式控制,这里我们只谈使用函数来控制。在 WordPress 里,我们使用
the_title();
来输出文章标题,与其相关的还有一个函数:
get_the_title();
简单的说说两者的关系,get_the_title() 返回值是一个字符串(文章标题),而 the_title() 就是该字符串通过 echo 输出后的值。
实际上就是 WordPress 自己在输出文章标题时进行了简化,直接用
the_title();
代替了
echo get_the_title();
除此之外这里还需要用到另外一个函数:mb_strimwidth(string str, int start, int width, [string trimmarker], [string encoding]);mb_strimwidth() truncates string str to specified width. It returns truncated string.If trimmarker is set, trimmarker is appended to return value.start is start position offset. Number of characters from the beginning of string. (First character is 0)trimmarker is string that is added to the end of string when string is truncated.encoding is character encoding. If it is omitted, internal encoding is used.
现在大部分的 PHP 服务器都支持了 MB 库(mbstring 库 全称是 Multi-Byte String 即各种语言都有自己的编码,他们的字节数是不一样的,目前php内部的编码只支持ISO-8859-*, EUC-JP, UTF-8 其他的编码的语言是没办法在 php 程序上正确显示的。解决的方法就是通过 php 的 mbstring 函数库来解决),所以我们可以放心的使用这个用于控制字符串长度的函数:
echo mb_strimwidth(get_the_title(), 0, 38, ‘…’);
那么我们只需要用上面这个函数替换 WordPress 原有的
the_title();
即可,这里我输出了字符串的第0位到第38位,根据主题的不同可以自行设置该数值,另外多余长度部分使用“…” 代替。
其实我在控制文章摘要的时候也是使用的这个函数,比如我在 ppcnnet 主题的首页里使用的就是
echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post-post_content)), 0, 285,”……”);
来输出285个字符长度的摘要,并过滤了 HTML 标记。
虽然这是个很简单的方法,但我相信它对主题制作者而言还是相当实用的。