服务器与VPS
促销优惠信息

wordpress简码Shortcode技巧,如何在wordpress主题文件插入短代码

查看目录
文章目录隐藏
  1. 一、wordpress简码Shortcode的类型
  2. 二、Shortcode 基本概念
  3. 三、Shortcode 相关的函数
  4. 四、在侧边栏 Widgets 中使用 Shortcode短代码
  5. 五、在wordpress主题文件中使用 Shortcode
  6. 六、如何创建简码:

简单说 WordPress Shortcode 指的是一些使用[]包含的短代码,WordPress会识别这些短代码并根据短代码的定义输出为特定的内容。

一、wordpress简码Shortcode的类型

Shortcode API 支持几乎所有可能的组合形式:自关闭标签,开放标签,含有参数的标签等。

1
2
3
4
5
6
[mycode]
[mycode foo="bar" id="123" color="red" something="data"]
[mycode]Some Content[/mycode]
[mycode]<p><a href="http://example.com/">HTML Content</a<>/p>[/mycode]
[mycode]Content [another-shotcode] more content[/mycode]
[mycode foo="bar" id="123"]Some Content[/mycode]

二、Shortcode 基本概念

首先你要去定义一个函数,来处理你定义的 Shortcode,和它的属性参数以及引用的内容。

1
2
3
4
5
6
function my_shortcode_func($attr, $content) {
    // $attr $key=>$value 的数组
    // $content 是 shortcode 中包含的字符串
    // 对 $attr 和 $content 进行处理
    // 返回预期的值
}

然后把自己定义的 Shortcode 和其处理函数管理起来,以便 [mycode attr="value"]content[/mycode] 能够按照预期执行。

1
add_shortcode('mycode', 'my_shortcode_func')

三、Shortcode 相关的函数

WordPress 定义了以下和 Shortcode 相关的函数:

1
2
3
4
add_shortcode('mycode', 'function_name'); // 定义一个新的 Shortcode
remove_shortcode('mycode'); // 移除一个 Shortcode
remove_all_shortcodes(); // 移除所有的 Shortcode
$return = do_shortcode($content); // 应用 Shortcode 到内容而不输出

 

四、在侧边栏 Widgets 中使用 Shortcode短代码

Shortcode 很方便,但是只能用在日志内容中,那么如何在 WordPress 的侧边栏的 Widgets 中使用 Shortcode,在当前主题的 functions.php 中添加如下代码:

1
add_filter('widget_text', 'do_shortcode');

然后你在 WordPress 后台 > 外观 > Widgets 界面添加一个文本 Widget,然后插入博客中经启用 shortcode 即可。

五、在wordpress主题文件中使用 Shortcode

如果你想用在主题文件中使用名为 [my_shortcode] 的 简码,使用do_shortcode() 函数即可:

1
<?php echo do_shortcode("[my_shortcode]"); ?>

六、如何创建简码:

1、创建简单简码

创建简码非常简单。如果你知道如果编写基本的PHP函数,你也就了解了如何创建WordPress简码。我们首先来创建一个众人皆知的“Hello, World”吧。

打开主题中的functions.php文件。如不存在此文件,请立即创建。
首先创建会返回“Hello World”字符串的函数,并把其粘贴到functions.php文件中。

function hello() {
return 'Hello, World!';
}

使用add_shortcode()函数把字符串转化为简码,把以下代码粘贴到hello()函数中,然后保存并关闭functions.php文件:

add_shortcode('hw', 'hello');

简码已创建成功,我们可以在日志和页面中使用它了。使用时,只要把编辑器切换到HTML模式并输入以下内容即可:

[hw]

这只是最最基本的简码,但它也足以说明创建简码是多么简单的一件事!

2、创建高级简码

正如以上所说,简码中可以包含属性,这非常有用,例如,它可以赋予函数参数。接下来,我们将共同了解如何创建可以显示URL的简码,正如使用诸如VBulletin 和PHPBB论坛的用户使用BBCode一样

打开主题中的functions.php文件。粘贴以下函数到其中:

function myUrl($atts, $content = null) {
extract(shortcode_atts(array(
"href" => 'http://'
), $atts));
return '<a href="'.$href.'">'.$content.'</a>';
}

把函数转化成简码:

add_shortcode("url", "myUrl");

简码创建成功,现在就可在日志和页面上使用了。

[url href="https://www.chukuangren.com"]chukuangren.com[/url]
日志保存后,简码会显示名为“chukuangren.com”的链接,并指向 https://www.chukuangren.com。

代码注释:若要正常运行,简码必须处理两个参数:$atts 和 $content。$atts是简码属性,上例中,属性为href,且包括了URL链接。$content是简码内容,位于域名和子目录之间(即www.example.com和“/subdirectory”之间)。正如以上显示,我们给$atts 和 $content都设置了默认值。

3、创建“发送到 Twitter”的简码

解决方案:将要使用的简码十分容易创建,只要把“发送到Twitter”hack中的代码转化成PHP函数即可。复制以下代码到functions.php文件中:

使用此简码,只需把编辑器切换到HTML模式,输入:

function twitt() {
return '<div id="twitit"><a href="http://twitter.com/home?status=Currently%20reading%20'.get_permalink($post->ID).'" title="Click to send this page to Twitter!" target="_blank">Share on Twitter</a></div>';
}
add_shortcode('twitter', 'twitt');
[twitter]

然后,“发送到Twitter”链接就会只出现放置简码的位置。

4、使用 Shortcode 投放广告

把下面的代码保存到你当前的主题的 functions.php,或者上传到插件目录下并激活。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/*
Plugin Name: Shorcode for Google Adsense
Plugin URI:  
Description: 使用 Shortcode 投放广告
Version: 0.1
Author: Denis
*/
add_shortcode('adsense', 'adsense_shortcode');
function adsense_shortcode($atts) {
	extract(shortcode_atts(array(
	'type' => '468x60',
	), $atts));
	switch ($type) {
		case '468x60' :
		return 
			//468x60 的广告代码
		case '300x250' :
		return 
			//300x250 的广告代码
	}
}

然后你就可以通过撰写文章的时候,在相应的位置输入 [adsense] 你的 468×60 的广告代码(默认的广告代码),如果你想插入 300×250 的广告代码,在文章内容中插入 [adsense type="300x250"],当然你也可以扩展上面的代码增加更多广告的格式和类型。

这样就可以想把广告插在文章中的哪个位置,就能插在哪个位置了,  非常方便。

资料来源:

1、https://www.cnblogs.com/kenshinobiy/p/7327837.html

2、https://blog.csdn.net/clh604/article/details/10190633

楚狂人 » wordpress简码Shortcode技巧,如何在wordpress主题文件插入短代码

相关推荐

  • 暂无文章

评论 抢沙发

  • (必填)
  • (必填)

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏