随着互联网的飞速发展,越来越多的企业和个人选择使用WordPress搭建自己的网站。WordPress作为一款功能强大、易于使用的开源内容管理系统,深受广大用户的喜爱。在使用WordPress搭建网站的过程中,许多人会遇到一个问题:如何保持文章中的空格整洁?今天,我就来和大家分享一下关于WordPress保持空格的小技巧。
WordPress中空格问题
在WordPress编辑文章时,经常会遇到以下几种空格问题:
1. 乱码空格:文章中出现的空格不是正常的空格,而是乱码。
2. 空格缺失:文章中缺少必要的空格,导致排版混乱。
3. 空格过多:文章中存在多余的空格,影响阅读体验。
这些问题不仅影响网站的美观,还会降低用户体验。如何解决这些问题呢?
WordPress保持空格整洁的方法
一、使用正确的空格字符
我们需要了解,WordPress中使用的空格字符是HTML实体中的“ ”。下面是几种常见的空格字符:
空格字符 | 描述 |
---|---|
空格(非换行) | |
| 空格(非换行) |
空格(非换行) | |
空格(非换行) | |
空格(非换行) |
注意:在实际使用中,我们推荐使用“ ”和“ ”。
二、避免使用Tab键
在许多人的潜意识中,认为Tab键可以快速输入多个空格。实际上,使用Tab键会导致文章中出现乱码空格。因此,建议大家在WordPress编辑文章时,尽量避免使用Tab键。
三、使用可视化编辑器
WordPress提供可视化编辑器,可以帮助我们更好地排版文章。在可视化编辑器中,我们可以直接使用“ ”插入空格,而且不会出现乱码。
四、利用CSS美化空格
如果你对CSS有一定的了解,可以通过修改网站主题的CSS样式,来美化空格。以下是一个简单的示例:
“`css
p {
margin: 0 0 10px 0;
padding: 0;
}
p::after {
content: “
如何在WordPress文章中插入代码
无论你是为WordPress写插件或hack,还是添加有关WordPress的代码片段或其他如HTML,CSS,PHP或javascript的编程代码,如何让插入于日志中的代码有其形而不发生作用对写博客的用户来说是常常遇到的拦路虎。
默认情况下,WordPress会将<和>自动转换为<和>,在发表后看起来就是<和>。如果它发现日志中使用了HTML标签,就会将其当作HTML标签来使用,结果你的文本看起来就很怪异,布局也会弄得一团糟。
网页中代码的使用有两个方面。在段落中使用代码表示正在讨论该段代码,然后是被高亮显示的代码。
段落中的代码
有两种HTML标签可以将文本转为等宽样式,即< code>和< tt>。而后者现今已基本不使用了,取代它的是用处更大且更富语法意义的< code>,它能将计算机代码类的文本与一般语言分辨开来。
此为用于某段落内的代码示例
用以描述WordPress中的< code>index.php</code>,
< code>sidebar.php</code>及< code>header.php</code>
模板文件。如果你希望在文字周围使用标签以使它们看起来如代码一般,此方法就很有用,但如果你想展示如HTML的标签的话该如何是好呢?
在< code>header.php</code>模板文件中,查找< code>< div class=”header”></code>部分以修改< code>< h1></code>标题栏。使用< code>标签是无法告知WordPress将HTML参考从日志中分离开的。它会看到< code>标签,然后看到div,因此它就会在网页中新建一个容器作为应答。WordPress会认为你实际上是在使用HTML标签,不小心使用h1这样的标签就能搞砸整个网页布局和设计初衷。
若要让WordPress将此识别为段落中的代码的话,可以使用字符实体或扩展字符来表示其前后的左右箭头。
在< code>header.php</code>模板文件中,
查找< code><div class=”header”></code>
部分以修改<h1>标题栏。
默认情况下,WordPress会将任何以http:开头的文本转换为链接。如果你要为WordPress网站内特定文章做链接,而不使用并将其转为链接的话,你可以使用扩展字符来代替右斜杠,这样一来WordPress就不会“看到”该链接了。
…在日志中使用
使用链接到某特定的WordPress日志….
以下列出一些最常用的HTML字符实体:
<=<
>=>
/=/
]= ]
[= [
“=”
'='
后文给出了相关资源,它将帮助你将HTML标签转为字符实体,因此你就无需劳神背下这些字符代码了。
使用PRE标签
要使得代码可以被复制粘贴到其他代码或模板文件中的话,可以使用< pre>这个HTML标签。
< pre>标签指示浏览器使用等宽的代码字体,并完完全全地将< pre>标签内的内容复制下来。每个空格,分行,以及代码都被完整地复制一遍。
< h3>Section Three Title</h3>
< p>This is the start of a
<a title=”article on relationships” href=”goodtalk.php”>
good relationship</a> between you and I….
使用< pre>标签看起来并不美观,但却能达到目的。后文将给出解决外观问题的例子。它会将代码原原本本地展示出来。
我们这里说原原本本,事实也是如此。如果你的代码行非常长,它就会伸到页面外面去,因为并无任何指示告知它进行换行。以下给出一个例子:
< h3>Section Three Title</h3>
< p>This is the start of a<a title=”article on relationships” href=”goodtalk.php”>good relationship</a>
between you and I and I think you should read it because it is important that
we have these little<a title=”article on communication” href=”communication.php”>conversations</a>
once in a while to let each other know how we feel….
看起来很不舒服吧。要避免这种代码窜出屏幕的现象,就要进行分段。但在哪进行分段并放入段行标签可没那么容易决定下来的。
如果你熟悉编程语言的话,就知道在何处断行而不会弄砸一行代码。但如果你不知道在何处断行的话,就进行实验吧。将代码写入后,进行断行并进行测试。如果代码能够起效的话,就是要这种断行形式。否则的话就请尝试其他的断行位置。
如果你的代码行很长,可以考虑只显示一小部分代码,然后在网站上的文本或PHP文件中给出完整代码段的链接,也可以使用用于临时展示代码的在线pastebin。
代码的疑难排解
在WordPress日志中写代码可谓一项挑战,它会覆盖WordPress的默认风格。如果你在日志中写代码时遇上麻烦的话,下面这些内容可能会对你有帮助。
代码中的引号
在日志中写进代码时常遇到的问题是,WordPress会将代码中的直引号转换为文字处理程序中出现的弯引号。用于实现功能的代码不应当具有这种弯引号,而应该保持原有的直引号。
你可以使用< pre>标签来避免出现这种情况,或使用字符代码来表示引号也可以解决此问题:
< p class=”red”>
即可写为<p class=”red”>但如果你是在首次发布某页面之后进行编辑的话,html代码编辑器就会用自带的符号替换所有的实体。因此,如果你使用”来表示引号的话,它们会变为”,而当你保存的时候它们就会被转换掉。
定制代码标签的风格
默认情况下,使用< pre>和< code>会将文本显示为等宽样式的字体,并使用body标签的字号。如果你想使用不同的字号,然后让这些标签呈现出不同的颜色或风格。
在WordPress外观主题文件夹的style.css风格页中,为这两类标签添加风格。举例如下:
pre{border: solid 1px blue;
font-size: 1.3 em;
color: blue;
margin: 10px;
padding:10px;
background:#FFFFB3}
code{font-size:1.2em;
color:#008099}
使用< code>将会是上面的样子,而使用pre则会是如下形式:
pre{border: solid 1px blue;
font-size: 1.3 em;
color: blue;
margin: 10px;
padding:10px;
background:#FFFFB3}
code{font-size:1.2em;
color:#008099}
如何配置 Apache 的虚拟主机
修改 hosts文件
1
不管你用的是什么系统,windows, mac,电脑上都会有一个 hosts文件,修改这个文件,可以改变主机名所对应的 ip地址。比如你安装了 Web开发环境(MAMP或 WAMP),启动环境以后,访问 你就会打开环境的默认的目录,这个 localhost就是在 hosts文件里定义的,它所指向的 ip地址是 127.0.0.1,这个 ip地址表示本地的你正在使用的这台电脑,了解详细的内容,可以搜索一下:)
修改这个 hosts文件,我们可以手工的去指定任何主机名指向任何的 ip地址,当然这个设置只影响你自己的电脑,比如我们可以随便造一个域名,比如 hello.com,让这个域名指向你的电脑,也就是 127.0.0.1这个 ip地址。这样你在浏览器中请求 hello.com,打开的就是你在本地电脑上搭建的环境所指定的目录里的东西。为了测试 apache的虚拟主机功能,你可以去虚拟几个这样的域名,这样在创建虚拟主机的时候,你可以让这些域名打开各自的目录。下面,我们先去修改这个 hosts文件。
1.找到 hosts文件,windows系统是在 Windows\System32\Drivers\etc这个目录下,Mac系统是在/etc/hosts,找到以后可以使用文本编辑软件打开它。
2.在 hosts文件里,新的一行上,先输入 ip地址 127.0.0.1,然后空格,再输入一个主机名,这个主机名可以随便,比如 hello.com,这样访问 hello.com就会打开在你的电脑上的网站了。另起一行,再去定义一条,127.0.0.1 hola.com。
3.保存修改之后的 hosts文件,然后启动在本地上的 Web环境,打开浏览器,在地址栏上输入 hello.com,还有 hola.com,看看打开的是不是你在本地上的内容。现在,你看到的应该跟你使用 打开的是一样的东西。
END
百度经验:jingyan.baidu.com
配置 Apache虚拟主机
1
现在,我们虚拟了两个域名,让它们指向了本地的电脑,访问它们,打开的是同一个目录里的内容,下面这个练习,我们通过修改 Apache的配置文件,让访问不同域名的时候,打开的是不同的目录。你首先要判断一下配置 Apache虚拟主机的配置文件,一般是在 httpd.conf这个主配置文件里面,不过,很多环境都会单独把虚拟主机放在一个配置文件里面,然后在 httpd.conf文件里指定一下,包含这个单独配置虚拟主机的文件。
1.找到配置虚拟主机的配置文件,如果你用的是 WAMP搭建的环境,先找到并打开 httpd.conf,在这个文件里,搜索# Virtual hosts,它下面有一行代码,#Include conf/extra/httpd-vhosts.conf…你可以去掉它前面的#,这样,Apache启动以后,也会去加载这个httpd-vhosts.conf配置文件,这样做的好处就是可以保持 Apache相关设置的整洁。当然,你完全可以在主配置文件 httpd.conf里面去设置虚拟主机。
2.打开 httpd-vhosts.conf这个文件,没有这个文件也可以去创建一个,或者直接在 httpd.conf文件里面去配置虚拟主机。配置虚拟主机的东西应该像这样:
步骤阅读
2
3.应该有两段这样的代码,每一段都是在配置一个虚拟主机,你可以复制其中的一段,然后粘贴到文件的最下面。再根据自己的需要去修改这段代码。理解它的意思,ServerAdmin就是网站的管理员的邮箱,DocumentRoot是虚拟主机的主目录,也就是访问这个虚拟主机所打开的那个目录,这个目录你可以自己去指定,要注意的是,你需要先去创建这个目录,然后再在这里去指定这个目录的位置。ServerName是主机名,比如之前我们虚拟的那个主机名 hello.com,ServerAlias是主机的别名,你可以指定一个其它的主机名,访问它的时候也会打开这个虚拟主机的目录里的东西。ErrorLog是错误的日志,也就是发生错误的时候,会把错误记录到哪个文件里。CustomLog是虚拟主机访问的日志。
这样自己新添加的虚拟主机看起来应该像这样:
步骤阅读
3
4.在浏览器里打开 hello.com,访问的是这个虚拟主机的配置里 DocumentRoot所指定的/Applications/MAMP/htdocs/hello这个目录里的东西,你可以在这个目录里面放点东西,比如一个 WordPress或者 Drupal的网站等等。
注:配置虚拟主机的时候,第一个虚拟主机是默认的,你需要留着,配置自己的虚拟主机,可以从第二个开始配置,也就是第二段<VirtualHost>代码。
phpcms页面跳转
希望phpcms跟WordPress一样,能够在文章发布页面自定义url,从而提高SEO优化吗?phpcms V9版本默认是不支持自定义网址的,不过只要跟我一起稍微做下改动即可实现自定义url,甚至超过WordPress的固定连接功能。
添加字段
内容-模型管理-选择你要修改的模型,一般是文章模型,然后是字段管理,添加字段
作为主表字段,选择是,非常重要,否则在批量生成url中会无法生成自定义字段
字段名为prefix不建议修改,因为要跟后面的代码关联起来
字段别名为 html文件名,这个随意,好记即可
值唯一选是,你不希望2篇文章的url是同一个吧,这样就会覆盖上一篇文章
其他保持默认即可
修改网址生成文件
打开/phpcms/modules/content/classes/url.class.php
大概在 67行找到
$day= date(“d”,$time);
在其下方插入
$tmp_id=$content_ishtml&&$prefix?$prefix:$id;//增加自定义HTML文件名支持
代码大概的意思是,如果纯在字段prefix则使用该字段的值,如果不存在则直接显示文章ID
紧接着下一行的代码应该是
$urls= str_replace(array(“{$categorydir}”,”{$catdir}”,”{$year}”,”{$month}”,”{$day}”,”{$catid}”,”{$id}”,”{$page}”),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);
在第二个array中把$id替换成$tmp_id,完整代码如下
$urls= str_replace(array(“{$categorydir}”,”{$catdir}”,”{$year}”,”{$month}”,”{$day}”,”{$catid}”,”{$id}”,”{$page}”),array($categorydir,$catdir,$year,$month,$day,$catid,$tmp_id,$page),$urlrule);
这样他就会判断,如果prefix的值存在则取该值,不存在还是用原来的文章ID,非常方便不是。
注意:该代码只有在纯静态下支持,在伪静态中暂时没有想到好的办法。如果把$tmp_id这行中的$content_ishtml&&删除,那么伪静态后的网页也是打不开的,因为动态网址后面跟的必须是文章ID,如果跟的是其他值就不存在该文章了。
修改生成HTML的文件
打开/phpcms/modules/content/create_html.php,找到代码
$urls=$this->url->show($r['id'],'',$r['catid'],$r['inputtime']);
共有三处,批量替换成
$urls=$this->url->show($r['id'],'',$r['catid'],$r['inputtime'],$r['prefix']);
因为PHPCMS生成内容HTML文件共有三处,所以上面的替换就有三处。
创建或编辑内容时会生成HTML
内容管理里下面有个“批量生成HTML”
发布管理的“批量更新内容”他又包含了先择模型生成和不选择模型生成
享受战果
后台-扩展-URL规则管理中,URL规则用{$id}即可,当prefix中有值,则文章url显示prefix的值,没有则调取默认的文章ID值。
补充
在定义$tmp_id之前加上以下代码
$prefix= str_replace(“”,”-“,$prefix);
$prefix= strtolower($prefix);
把空格转换成短横杠,你不希望把翻译好的英语词组之间的空格手动填写横杠来区分吧。
把大小字母转换成小写字母,网址中有大写字母总显得不太美观。
我新加的自定义字段,设置了判断唯一值。但是当我不想填写这个字段时,他也提示重复。所以我想有没有办法让他判断,只有在非空值时才判断唯一值?
打开/phpcms/modules/content/fields/content_input.class.php
查找
if($this->fields[$field]['isunique']&&$this->db->get_one(array($field=>$value),$field)&& ROUTE_A!='edit') showmessage($name.L('the_value_must_not_repeat'));
替换成
if($this->fields[$field]['isunique']&&$value&&$this->db->get_one(array($field=>$value),$field)&& ROUTE_A!='edit') showmessage($name.L('the_value_must_not_repeat'));
如果我们希望实现在有prefix则调用prefix,无则用当前日期,该怎么办?
$diytime=date('YmdHi',$time);
$tmp_id=$content_ishtml&&$prefix?$prefix:$diytime;//增加自定义HTML文件名支持
$tmp_id=$content_ishtml&&$tmp_id?$tmp_id:$id;//静态页面用上面判断的$tmpid值,动态页面则调用$id值
在原来的tam_id之前定义了一个时间变量,然后进行判断。但是在动态页面时,id值会变成时间,就无法显示文章了,所以最后还加了一行,如果是静态页面则执行第二行的判断,否则就调用ID.
欢迎转载,但请保留原文地址