2

我创建了一个快速的 Wordpress 短代码,这样我的作者就可以轻松地在帖子的可视化编辑器中设置字幕样式:

function subtitle( $atts, $content = null ) {
    return '<p class="subtitle">' . $content . '</p>';
}

我想将此输出移动到文档中指定的其他位置,例如:

<div id="output_here_please"></div>

<?php the_content(); /* It is returned here wherever they place the shortcode */ ?>

做这个的最好方式是什么?是否有要使用的 PHP 或 WordPress 函数,或者我应该创建一个 javascript 来替换 innerHTML(我试过这个,但不知道如何在页面加载后插入它)。

谢谢

4

2 回答 2

0

如果您的函数被称为 subtitle ,那么他们可以将其插入:

<div id="output_here_please">
  <?php subtitle("value", "This is some sample content"); ?>
</div>
于 2013-02-15T02:24:12.530 回答
0

快速而肮脏的做法是声明一个全局变量——比如说$subtitle_content,并使用它来临时存储您希望在其他地方显示的 html 片段。

function subtitle( $atts, $content = null ) {
    $GLOBALS["subtitle_content"] = '<p class="subtitle">' . $content . '</p>';
    return "";
}

function the_content(){
    echo $GLOBALS["subtitle_content"];
    /* unset $GLOBALS["subtitle_content"]; */
}

一旦它变得不必要,您可能希望取消定义该变量,如上面注释掉的代码中所写。

$GLOBAL供您参考的文档。

笔记:

  • 您可能希望为您的函数使用更具体的名称,以避免与其他函数发生名称冲突(尽管如果发生这种情况,PHP 会突然告诉您)。
  • 不要为此使用 javascript,这是严格的服务器端美食。
于 2013-02-15T02:41:26.933 回答