帮助使用快捷码设置帖子的整体样式

时间:2019-07-11 作者:ducklord

最近我的网站遭到黑客攻击,迫使我开始从头开始重建。我已经很久没有在上面花时间了,所以我甚至不记得我安装和使用的插件了。不过,其中之一允许通过它们轻松创建短代码和文本的“映射”,或者更好的是HTML和CSS。我已经广泛地使用它来设计一些帖子的样式,比如在便笺中,标记为。。。

[Note]Blah-blah...[/Note]
。。。在文本周围添加自定义类以允许额外的样式,或者。。。

[AuthorOpinion=X]Blah-blah...[/AuthorOpinion]
。。。这给了一大群div一记耳光,而且,根据作者类别的不同,还有不同的形象以及“他/她对某件事的看法”(废话)。。。

。。。但是,还有。。。

[PostIntro=BlahBlah]
。。。这是“自足的”,不需要“收尾”,而“胡说八道”的风格更为大胆。还有一个YouTube。还有其他类似的“盒子”。

现在,我不记得那是什么插件,但同时,由于这个功能据说很容易通过WP直接实现,我更喜欢“手动方式”。问题是,在过去的六个小时里,我花了大部分时间复制粘贴代码,但我无法使其正常工作,因为我讨厌@PHP。

我设法做到了这一点:

function postnote_function( $atts, $content = null ) {
    return \'<div class="note">\' . $content . \'</div>\';
}
add_shortcode(\'note\', \'postnote_function\');
。。。但是,就我的一生而言,我不能让上述的“Postintro=Blahblah”起作用。我看到的每个示例都使用数组“向函数提供/传递参数”,但我不需要不同的“参数”:我需要第一段。而且,出于某种原因,无论我对代码做了多少修改,它都不适合我。

目前,我最新的非工作复制粘贴是:

function postintro_shortcode( $atts , $content = null ) {

    // Attributes
    $atts = shortcode_atts(
        array(
            \'type\' => \'\',
            \'icon\' => \'\',
        ),
        $atts,
        \'[postintro]\'
    );

    // Return custom embed code
    return \'<div class="postintro">\' . $content . \'</div>\';

}
add_shortcode( \'[postintro]\', \'postintro_shortcode\' );
有什么帮助吗?任何人

1 个回复
最合适的回答,由SO网友:Antti Koskinen 整理而成

EDIT 2

Multiple unnamed parameters, starting with equals sign.

function postintro_bb_shortcode( $atts ) {
  // remove equals sign from first unnamed param
  if ( isset( $atts[0] ) && strpos( $atts[0], \'=\' ) !== false ) {
    $atts[0] = substr( $atts[0], 1 );
  }
  // Param array to string
  $intro = is_array( $atts ) ? implode( \' \', $atts ) : \'\';
  return \'<div class="postintro">\' . esc_html( $intro ) . \'</div>\';
}
add_shortcode( \'postintro_bb\', \'postintro_bb_shortcode\' );
【postintro\\u bb=在ex中的Vivamus sit amet turpis ultricies lorem Dignessim sollicitudin id】

Unnamed parameter with closing tag

function source_shortcode( $atts, $content = null ) {
  // remove equals sign from first unnamed param
  if ( isset( $atts[0] ) && strpos( $atts[0], \'=\' ) !== false ) {
    $atts[0] = substr( $atts[0], 1 );
  }
  return \'<a href="\' . esc_url( $atts[0] ) . \'">\' . esc_html( $content ) . \'</a>\';
}
add_shortcode( \'source\', \'postintro_b_shortcode\' );
[来源=”http://www.example.com/“]测试[[来源]

<小时>

EDIT

这里有几种方法可以定义和使用自定义短代码。

function postintro_shortcode( $atts , $content = null ) {
  return \'<div class="postintro">\' . $content . \'</div>\';
}
add_shortcode( \'postintro\', \'postintro_shortcode\' );
 测试

Self closing shortcode tag.

显然,未命名的参数也起作用

function postintro_b_shortcode( $atts ) {
  $intro = ! empty( $atts[0] ) ? $atts[0] : \'\';
  return \'<div class="postintro">\' . $intro . \'</div>\';
}
add_shortcode( \'postintro_b\', \'postintro_b_shortcode\' );
【postintro\\u b blahblah】

Self-closing shortcode tag with named parameter.

function postintro_c_shortcode( $atts ) {
  $intro = ! empty( $atts[\'intro\'] ) ? $atts[\'intro\'] : \'\';
  return \'<div class="postintro">\' . $intro . \'</div>\';
}
add_shortcode( \'postintro_c\', \'postintro_c_shortcode\' );
[简介]

<小时>

Original answer

因为您的短代码名称有括号,所以短代码API异常。改变

add_shortcode( \'[postintro]\', \'postintro_shortcode\' );

add_shortcode( \'postintro\', \'postintro_shortcode\' );

相关推荐

激活SSL后WordPress CSS/Theme消失

我只能看到我网站的骨架。我清除了cloudflare上的缓存,我还能做什么?偶数域。com/wp管理员登录屏幕混乱,这意味着它可能与godaddy有关。但我没有这方面的经验,你能给我指出正确的方向吗?我收到以下错误消息:混合内容:页面位于。。。。。。已通过HTTPS加载,但请求了不安全的脚本。解决方案:安装真正简单的SSL插件(适用于将来有相同问题的任何人)