“中文” 标签页面:

  • WordPress取消英文标点符号自动替换中文标点符号的优雅方法

    众所周知,WordPress中文版有个特性,会将每一处英文引号("")都稀里哗啦转化为中文引号(“”)。不仅仅是英文引号,在WordPress翻译文件定义了不少自动转换符号,具体可以参考这里

    对文字博客来说,这是个好功能,这样会避免用错英文标点。

    然而,WordPress是独立的php程序,中文社区中懂得使用者,大部分都是技术博客。而技术博客会经常贴出代码,里面包含各种英文标点是再正常不过的事情。这时候,英文标点符号自动转换就是一个恼人的画蛇添足功能了。

    网上很多文章都是让该WordPress核心文件。只不过,WordPress是一个高度模块化的系统,肯定有更优雅的解决方案。

    一番搜寻之后,发现最简单的办法,就是安装一个叫Quotmarks Replacer的插件,地址在这里

    插件很简单,就是将WordPress自动转换标点符号的函数用系统接口去掉。核心代码如下:

    <?php
    /*
    Plugin Name: Quotmarks Replacer
    Plugin URI: http://sparanoid.com/work/quotmarks-replacer/
    Description: Quotmarks Replacer disables wptexturize function that keeps all quotation marks and suspension points in half-width form.
    Version: 2.6.17
    Author: Tunghsiao Liu
    Author URI: http://sparanoid.com/
    Author Email: t@sparanoid.com
    License: GPLv2 or later

    Copyright 2016 Tunghsiao Liu, aka. Sparanoid (t@sparanoid.com)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License, version 2, as
    published by the Free Software Foundation.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    */

    $qmr_work_tags = array(
    'the_title',             // http://codex.wordpress.org/Function_Reference/the_title
    'the_content',           // http://codex.wordpress.org/Function_Reference/the_content
    'the_excerpt',           // http://codex.wordpress.org/Function_Reference/the_excerpt
    // 'list_cats',          Deprecated. http://codex.wordpress.org/Function_Reference/list_cats
    'single_post_title',     // http://codex.wordpress.org/Function_Reference/single_post_title
    'comment_author',        // http://codex.wordpress.org/Function_Reference/comment_author
    'comment_text',          // http://codex.wordpress.org/Function_Reference/comment_text
    // 'link_name',          Deprecated.
    // 'link_notes',         Deprecated.
    'link_description',      // Deprecated, but still widely used.
    'bloginfo',              // http://codex.wordpress.org/Function_Reference/bloginfo
    'wp_title',              // http://codex.wordpress.org/Function_Reference/wp_title
    'term_description',      // http://codex.wordpress.org/Function_Reference/term_description
    'category_description',  // http://codex.wordpress.org/Function_Reference/category_description
    'widget_title',          // Used by all widgets in themes
    'widget_text'            // Used by all widgets in themes
    );

    foreach ( $qmr_work_tags as $qmr_work_tag ) {
    remove_filter ($qmr_work_tag, 'wptexturize');
    }

     

    2016.09.01 / 2 条评论 / 1,450 次点击 / 分类: 所谓技术

  • IIS7下WordPress中文Tag和目录无法访问完美解决方法(不修改程序)

    方法很简单。新建一个“_chineseuri.php”文件,内容如下:

    <?php
    
    // IIS Mod-Rewrite
    if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
    }
    // IIS Isapi_Rewrite
    else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
    $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
    }
    else
    {
    // Use ORIG_PATH_INFO if there is no PATH_INFO
    if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )
    $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];
    
    // Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)
    if ( isset($_SERVER['PATH_INFO']) ) {
    if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )
    $_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO'];
    else
    $_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO'];
    }
    
    // Append the query string if it exists and isn't null
    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
    $_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING'];
    }
    }
    
    require("index.php");
    
    ?> 

    然后建立“web.config”文件,如果已经有同名文件就把原来的删掉,其内容如下:

    <configuration>   
      <system.webServer>   
        <rewrite>   
          <rules>  
          	<rule name="Chinese Tag and Category for WordPress" stopProcessing="true">
              <match url="^(tag|category)/(.*)$" />
              <action type="Rewrite" url="_chineseuri.php"/>
            </rule>
            <rule name="wordpress" patternSyntax="Wildcard">   
              <match url="*" />   
                <conditions>   
                  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />   
                  <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />   
                </conditions>   
              <action type="Rewrite" url="index.php" />   
            </rule>        
          </rules>   
        </rewrite>   
      </system.webServer>   
    </configuration>

    如果你的Wordpress不是装在根目录,则需要更改“<match url="^(tag|category)/(.*)$" /> ”为“<match url="^你的目录/(tag|category)/(.*)$" /> ”。如果你把默认的标签和目录的地址改了,则更改这句话里面的对应内容即可。

    把上面两个文件上传至Wordpress所在的根目录(即web.config所在的目录)覆盖原来的文件即可。

    参考更改Wordpress源文件解决这个问题的文章,我们可以知道,是$_SERVER['REQUEST_URI']和$_SERVER['PATH_INFO']的问题。原因太多了,就不罗嗦了,想要明白解决问题的原理是什么,自己查看上面两份代码吧,呵呵。

    2010.05.13 / 1 条评论 / 1,495 次点击 / 分类: 所谓技术

  • 3D flash标签云wp-cumulus显示中文标签

    3D flash标签云wp-cumulus显示中文标签
    该文章原创,如转载,请注明出处www.yujjj.cn
    看到WP-Cumulus 这个效果相当炫酷的 3D 式 Flash 标签云插件后,我立即把它用到了我的bolg上面,可是对于我这个大部分中文的网站来说,它可以显示的标签太不符合我的网站了。
    然后我寻觅到了源文件,仔细研究了源代码,发现网上的添加中文字符的方法是不合理的。简单修改了文件中的as3代码,现可以显示中文标签。
    下载swf文件(可显示中文标签)http://www.yujjj.cn/download/tagcloud.rar
    下载fla源文件、WP-Cumulus 插件http://downloads.wordpress.org/plugin/wp-cumulus.zip
    方法如下:
    安装WP-Cumulus 插件,在后台激活;
    用swf文件替换WP-Cumulus 插件安装目录里的swf文件。

    fla文件修改方法:
    安装flashcs3以上版本,
    打开fla文件,
    在第一帧上找tag_txt的动态文本,在嵌入字符集里选择不嵌入。(我觉得十分没有你必要)
    打开tag.as文件,修改as文件里的
    format.font = "华文行楷";
    中的"华文行楷"为你自己喜欢的字体(不要太夸张,如果别人的电脑上没有,可能会显示错误)
    下来在_tf.embedFonts = true;前面加//注释掉这一行。
    发布,就得到我上面的swf文件,仅不到7k。
    该文章原创,如转载,请注明出处www.yujjj.cn

    2009.05.01 / 暂无评论 / 1,324 次点击 / 分类: 所谓技术