开始使用 WordPress 简码和示例片段

已发表: 2021-02-18

WordPress 短代码是在 2.5 中引入的,可帮助您创建宏代码以在您的内容中使用。 如果您考虑一下,这是在帖子中创建动态广告位或号召性用语按钮之类的好方法。

如果我们使用号召性用语示例,您可以在博客文章中添加类似的内容以显示按钮,然后在您的模板 functions.php 文件中编辑输出,我们将在一分钟内完成。

 [button]

要自定义按钮,我们可以简单地添加如下内容:

 [button type="twitter"]

或者为了让它更好,我们可以使用封闭的短代码:

 [button type="twitter"]Follow me on Twitter![/button]

有了一些想象力,您很快就会意识到短代码的潜力以及可以用它们做什么。 在本文中,我将向您展示如何创建和使用这三种不同类型的简码,然后我将展示一些可在您自己的 WordPress 网站上使用的即用型简码。

创建一个自动关闭的简码

最简单的简码是自动关闭的。 我们将创建一个指向我们的 Twitter 帐户的简单链接,然后将其添加到博客文章中。

所有代码都在位于/wp-content/themes/your-theme/functions.php中。 如果您没有,只需创建它并将代码放入其中。

 <?php function button_shortcode() { return '<a href="http://twitter.com/filipstefansson" class="twitter-button">Follow me on Twitter!</a>"'; } add_shortcode('button', 'button_shortcode'); ?>

用法:

 [button]

只需使用add_shortcode()函数,我们就可以将任何 PHP 函数链接到我们的简码。 在这个简单的示例中,我们所做的只是返回一个指向我们的 Twitter 帐户的链接,但让我们更进一步并添加一些参数。

使用参数创建一个自动关闭的简码

简码支持参数,这让我们可以自定义输出。 在这个例子中,我们有两个不同的按钮,所以我们必须定义我们想要显示的按钮。

 <?php function button_shortcode($type) { extract(shortcode_atts(array( 'type' => 'type' ), $type)); // check what type user entered switch ($type) { case 'twitter': return '<a href="http://twitter.com/filipstefansson" class="twitter-button">Follw me on Twitter!</a>'; break; case 'rss': return '<a href="http://example.com/rss" class="rss-button">Subscribe to the feed!</a>' break; } } add_shortcode('button', 'button_shortcode'); ?>

现在,您可以通过在简码中定义type来选择要显示的按钮。

 [button type="twitter"] [button type="rss"]

这很棒。 但是如果我们想改变文本呢? 我们可以继续添加短代码类型,如[button type="twitter-2"]等等,但这不是很动态,是吗? 让我们看看如何以正确的方式做到这一点。

创建封闭的简码

封闭的简码允许您在简码中嵌入内容,就像您曾经使用过的 BBCode 一样。

 <?php function button_shortcode( $attr, $content = null ) { return '<a href="http://twitter.com/filipstefansson" class="twitter-button">' . $content . '</a>'; } add_shortcode('button', 'button_shortcode'); ?>

要使用此简码,您可以像这样嵌入要使用的文本:

 [button]Follow me on Twitter![/button]

为了使这个按钮更好,我们可以像前面的例子一样添加参数。 这次我们添加两个参数,一个是 Twitter 用户名,一个是按钮样式。 然后我们可以有不同类型的按钮,并选择我们想要将按钮链接到的 Twitter 帐户。

 <?php function button_shortcode( $atts, $content = null ) { extract( shortcode_atts( array( 'account' => 'account', 'style' => 'style' ), $atts ) ); return '<a href="http://twitter.com/' . esc_attr($account) . '" class="twitter-button ' . esc_attr($style) . '">' . $content . '</a>'; } add_shortcode('button', 'button_shortcode'); ?>

用法:

 [button account="filipstefansson" style="simple"]Follow me on Twitter![/button] // Result: &lt;a href="http://twitter.com/filipstefansson" class="twitter-button simple">Follow me on Twitter!&lt;/a>

现在我们有一个可自定义的按钮,我们可以链接到任何 Twitter 帐户。 我相信你明白,你可以创建比这更高级的简码,但这是一个好的开始。

小部件和模板文件中的简码

现在,当您看到短代码的强大功能时,您可能想知道为什么不能在小部件和模板文件中使用它们。 好吧,事实证明你可以。

要在您的小部件中激活短代码,只需将以下代码放入 functions.php 中:

 add_filter('widget_text', 'do_shortcode')

要在模板文件中使用简码,您可以通过以下方式访问它们:

 do_shortcode("[button]");

即用型短路器

这里有一些很酷的短代码,您可以立即实施。

帖子中的代码

如果您经营一个专注于编程的博客,您可能希望在您的帖子中显示代码。

 function code_shortcode( $attr, $content = null ) { $content = clean_pre($content); // Clean pre-tags return '<pre"><code>' . str_replace('<', '<', $content) . // Escape < chars '</code></pre>'; } add_shortcode('code', 'code_shortcode');

用法:

 [code]&lt;?php echo 'Hello World!'; ?>

在帖子的任何位置嵌入 Adsense

使用此简码,您只需使用[adsense]即可在帖子的任何位置添加 Google 广告。

 function showads() { return '<script type="text/javascript"><!-- google_ad_client = "pub-3637220125174754"; google_ad_slot = "4668915978"; google_ad_width = 468; google_ad_height = 60; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> '; } add_shortcode('adsense', 'showads');

嵌入 YouTube 视频

此简码可让您将 YouTube 视频嵌入到您的博客文章中。

 function youtube($atts) { extract(shortcode_atts(array( "value" => 'http://', "width" => '475', "height" => '350', "name"=> 'movie', "allowFullScreen" => 'true', "allowScriptAccess"=>'always', "controls"=> '1', ), $atts)); return '<object style="height: '.$height.'px; width: '.$width.'px"><param name="'.$name.'" value="'.$value.'"><param name="allowFullScreen" value="'.$allowFullScreen.'"><param name="allowScriptAccess" value="'.$allowScriptAccess.'"><embed src="'.$value.'" type="application/x-shockwave-flash" allowfullscreen="'.$allowFullScreen.'" allowScriptAccess="'.$allowScriptAccess.'" width="'.$width.'" height="'.$height.'"></object>'; } add_shortcode("youtube", "youtube");

用法:

 // Optional attributes: width, height, name, allowFullScreen, allowScriptAccess, controls [youtube value="http://www.youtube.com/watch?v=1aBSPn2P9bg"]

贝宝捐赠简码

这是一个简码,可帮助您创建指向您的 Paypal 帐户的捐赠链接。

 function donate_shortcode( $atts, $content = null) { global $post;extract(shortcode_atts(array( 'account' => 'your-paypal-email-address', 'for' => $post->post_title, 'onHover' => '', ), $atts)); if(empty($content)) { $content='Make A Donation'; } return '<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business='.$account.'&item_name=Donation for '.$for.'" title="'.$onHover.'">'.$content.'</a>'; } add_shortcode('donate', 'donate_shortcode');

用法:

 [donate] [donate]Donate Now[/donate] [donate account="[email protected]" onHover="Thanks" for="Title"] [donate account="[email protected]" onHover="Thanks" for="Title"]Donate Now[/donate]

给作者的私人笔记

最后一个很聪明。 使用此简码,您可以在帖子中创建只有作者才能看到的注释。

 function sc_note( $atts, $content = null ) { if ( current_user_can( 'publish_posts' ) ) return '<div class="note">'.$content.'</div>'; return ''; } add_shortcode( 'note', 'sc_note' );

结论

阅读本文后,我希望您和我一样喜欢 WordPress 短代码,并希望您开始在自己的博客中实现它们。