zoukankan      html  css  js  c++  java
  • 黄聪:WordPress代码级处理

    首先这篇文章是面向略有一些PHP基础的读者的。

    然后是一小段对于不懂PHP读者的一些题外话:PHP是一门入门非常容易的语言,虽然深入学下去是否相对容易也无法由我这样的三脚猫技术来谈论。经 常在网上看到有人说可惜自己不是学程序的云云,却殊不知天天抱怨用去的时间已经能学出一些成果了。所以说强力建议做和互联网相关的至少抽一个星期出来学下 PHP或者其他的编程语言。完全掌握这篇文章所需的东西,绝对不会需要超过一个礼拜的时间。PHP入门的话,可以考虑去这边看看:http://www.w3school.com.cn/php/index.asp

    接下来要介绍的一些代码片段不少是可以找到插件来实现的,但至少我并不建议这样。尤其对于我这样一个做SEO、又对WP很狂热的人而言,装几十个插件是不稀奇的,这类情况下找插件都会是一件纠结的事情,而尽管其中一些插件的功能用短短几句函数就能搞定。

    太依赖插件偶尔还会导致严重的负面效果,比如前段时间看到有人不小心用了一个综合性的SEO插件,结果不小心在所有页面里面都加上 了<meta name=”robots” content=”index, nofollow” />这句,结果百度爬虫就没法抓取多数新增的页面了。

    废话已经挺多了,直接上代码吧:

    例1:WP分开设置首页与内页的标题

    <?php
    
    if (is_home()) {
        echo 'SEM WATCH 搜索引擎营销';
    
    } else {
        wp_title('_',true,'right');
        echo 'SEMWATCH';
    
    }
    
    ?>

    把原先header.php中,之间的内容替换成以上的即可。

    结果是首页的title会变为“SEM WATCH 搜索引擎营销”,内页的标题会变成“Wordpress代码级处理_SEMWATCH”。

    wp_title这个函数的设置三个参数的作用分别为:1.分隔符,2.是否自动输出(不输出可以用echo),3.分隔符显示在标题的左侧或右侧

    is_home函数是用来确定网页类型的,这里指的是首页。另外还有is_single(文章页),is_category(分类目录)等。

    is_home还常被我用来设置只在首页显示友情链接等等。

    例2:WP文章摘要输出

    <?php
        echo mb_substr(strip_tags(get_the_content()),220);
    ?>

    把需要输出摘要的页面中的替换成以上即可。

    结果是会紧密的输出正文靠前的220个字符。

    其中get_the_content和the_content类似,区别在于the_content直接输出,而前者置入变量。 strip_tags是为了去除其中所有的html标签,可以避免出现比如215个字符在第一段,第二段只显示5个字符就被截断的看上去比较怪的情况。 mb_substr是为了截取字符串中的某一部分,它和substr函数类似,但不会类似于substr把中文字符从当中切断而导致乱码(因为WP默认 UTF8编码下中文是3个字符)。

    例3:制作特别的页面

    <?php
        if strpos($_SERVER["REQUEST_URI"],'xxx') {
            // ...
        }
    
    ?>

    这段可能因为比较突兀而让人不解,先解释下。因为WP里面页面种类较少,文章、页面、分类目录、日期归档、文章标签,当然还有首页,就这几种了。有时候可能会想超出这些页面做一类新的页面出来就比较麻烦,比如用WP做电子商务网站的支付页等等。

    当然通过二次开发,这些都是能完美的搞定的,但明显二次开发相对耗时间了,一个简单的权宜之计就是用这段代码。

    $_SERVER["REQUEST_URI"]获取当前的URL,如果在其中找到某字符串(strpos),那么就开始生成页面。比如说如果做电 子商务网站,交易页URL里面统一有”onepage”,那么就strpos($_SERVER["REQUEST_URI"],’onepage’)。

    这一个if判断比如可以在title部分用一下,在the_content输出正文的地方用一下等等,其他不设定的地方就可以跟着模板默认的来。

  • 相关阅读:
    leetcode 576. Out of Boundary Paths 、688. Knight Probability in Chessboard
    leetcode 129. Sum Root to Leaf Numbers
    leetcode 542. 01 Matrix 、663. Walls and Gates(lintcode) 、773. Sliding Puzzle 、803. Shortest Distance from All Buildings
    leetcode 402. Remove K Digits 、321. Create Maximum Number
    leetcode 139. Word Break 、140. Word Break II
    leetcode 329. Longest Increasing Path in a Matrix
    leetcode 334. Increasing Triplet Subsequence
    leetcode 403. Frog Jump
    android中webView加载H5,JS不能调用问题的解决
    通过nginx中转获取不到IP的问题解决
  • 原文地址:https://www.cnblogs.com/huangcong/p/2343205.html
Copyright © 2011-2022 走看看