2010年10月22日 63条评论

在 the_content() 之外使用 ShortCode

今天在制作一个主题时,必须使用的一个插件实现一个功能,而在使用这个插件中碰到一个问题

因这个插件只提供小工具和ShortCode方式调用,而因为此主题全自定义内容,使用小工具比较囧~而 ShortCode 又只能在文章内容里面使用,怎样才能在 the_content() 之外使用呢?

放狗搜,搜到一个关于此问题的博文,但此博已不能访问,于是用google的cache看看内容,按其方法搞定,这里记录一下。

(出处就不注明了,连404都没有鸟)

方法:在需要用短代码调用的地方用下面的代码实现

<?php $text = yourShortCodeFunction("[your shortcode tag here]");  echo $text; ?>

示例:例子说明吧

一般定义 ShortCode 都有这么一句和函数:

add_shortcode('zwwooooo','zwwooooo_shortcode');
function zwwooooo_shortcode() {
......
}

其中的 zwwooooo  就是 ShortCode tag,而 zwwooooo_shortcode 是 ShortCode 对应的函数(功能),正常使用方法就是在文章中插入 [zwwooooo] ,那么在其他地方使用就是下面这样:

<?php $text = zwwooooo_shortcode("[zwwooooo]");  echo $text; ?>

没了,写完了。。。

zww
or
oooo

“在 the_content() 之外使用 ShortCode”有63条评论

  1. Ben says:

    表示看不懂……没结尾 :!:

    今天用IE6来浏览一下……

    1. zwwooooo says:

      @Ben
      ie6比较杯具

  2. daliu says:

    直接把函数写在页面里,然后直接调用不行吗?何必如此?

    1. zwwooooo says:

      @daliu
      调用不了,因为函数的参数定义了短代码。

  3. Karl says:

    要是用别的函数呢?
    我现在需要用first image来读取第一张图片,而这图片不是在文章内容(the_content)里面,而在single.php的某固定的div里面。如何获取文章内容之外的第一张图片呢?

    1. zwwooooo says:

      @Karl
      你用ajax调用内容吧,哈。

    2. Karl says:

      @zwwooooo
      能不能说的比较具体点?

    3. zwwooooo says:

      @Karl
      Sorry,无法简单说明,你先了解什么是ajax,如果你用js的ajax又不同。你也可以用php的函数获取某个页面的内容,然后筛选出来(正则)。

  4. 折子戏 says:

    请问大叔,短代码如何实现在首页可以成功调用?
    我在自定义栏目里增加了audio,然后首页调用audio,把短代码复制到了audio处发现不生效呢,直接显示出的是文本。不知道要如何做?

    1. zwwooooo says:

      @折子戏
      是不是没传递到 post id 啊

回复给 zwwooooo ¬
取消回复

昵称 *

网址

B em del U Link Code Quote