向短码API添加类

时间:2015-03-19 作者:Steve Kim

因此,我有以下两个不同页面中包含的短代码。

<?php echo do_shortcode(\'[shortcode]\'); ?>
由于两个页面使用的是一个相同的shortocode,因此我考虑在第一个页面中添加一个类,以便只定制第一个页面的shortocode。

这是我的问题。

你认为在第一页的短代码中添加一个类可以让我自定义它吗?

如果是这样,向上述代码中添加类的正确方法是什么?

如果没有,那么为特定页面的快捷码添加自定义项的选项是什么?

谢谢

2 个回复
最合适的回答,由SO网友:Adam D Harrington 整理而成

如果它真的只是一个页面,您可以使用条件the_ID(); 在您的shortcode类中(这是一个自定义的shortcode,对吗?)

$class = the_ID() == 213 ? "some-other-class" : "";
$myhtml = sprintf("<div class=\'some-class %1$s\'>%2$s</div>",
   $class,
   $content);
另一个选项是向短代码中添加参数或“属性”,就像在法典中一样。请参见:http://codex.wordpress.org/Shortcode_API

希望这有帮助。

SO网友:Pieter Goosen

Wordpress已经为您准备了这些类,因此您基本上可以在CSS中针对特定页面,而无需添加其他类。查看默认值body_class 法典第节,更具体的是pages section

结束

相关推荐

Class variables in shortcodes

不知道我做错了什么,但我有以下代码:class the_shortcode { //Define Class Variables private $var; public function __construct() { add_shortcode( \'the_single\', array( $this, \'shortcode_2\' )); }&#