在帖子中间插入默认文本

时间:2015-04-17 20:25:21

标签: php wordpress wordpress-plugin

我有一个wordpress包含大约1000个帖子,我想在加载后在每个帖子的中间添加默认文本(HTML格式)。因此,将来我可以立即更改此文本,如果需要,可以显示另一个文本。

我找到了在&之后添加文字的功能在帖子之前,但没有用于在帖子内添加内容。

我认为我可以在第一</p>

之后添加文字

有没有解决方案?

4 个答案:

答案 0 :(得分:1)

是否有可用于添加文字的公共div或标记?

示例:

<div id="first">Lorem ipsum</div>
<!-- where you want text -->
<div id="second">Lorem ipsum</div>

也许添加到single.php的jQuery脚本可以工作吗?

<script>
$( "#first" ).after( "<p>My inserted text.</p>" );
</script>

答案 1 :(得分:1)

我认为WordPress shortcodes可以为您提供帮助。在每篇文章中你都要提到像这样的短代码。 [Myshortcode]并且您可以在function.php中定义功能。

简单示例

//[foobar]
function foobar_func( $atts ){
    return "foo and bar";
}
add_shortcode( 'foobar', 'foobar_func' );
  

这将创建[foobar]短代码,返回为:foo和bar

这里是详细说明的link

对于基于jquery的解决方案,在第一个p之后放置内容,你可以做这样的事情。

$("#mydiv p:first-child").after("<div>Here is my html</div>");

小提琴是HERE

答案 2 :(得分:0)

我在下面的代码中找到并添加到function.php中,效果很好

<?php

//Insert ads after second paragraph of single post content.

add_filter( 'the_content', 'prefix_insert_post_ads' );

function prefix_insert_post_ads( $content ) {

    $ad_code = '<div>Ads code goes here</div>';

    if ( is_single() && ! is_admin() ) {
        return prefix_insert_after_paragraph( $ad_code, 2, $content );
    }

    return $content;
}

// Parent Function that makes the magic happen

function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
    $closing_p = '</p>';
    $paragraphs = explode( $closing_p, $content );
    foreach ($paragraphs as $index => $paragraph) {

        if ( trim( $paragraph ) ) {
            $paragraphs[$index] .= $closing_p;
        }

        if ( $paragraph_id == $index + 1 ) {
            $paragraphs[$index] .= $insertion;
        }
    }

    return implode( '', $paragraphs );
}
?>

答案 3 :(得分:0)

最简单的方法是: 1-在帖子内容之后的“显示:无;”中添加HTML代码。容器 2-在该容器下添加小javascript:

var containerID = document.getElementById("container");
    var middle-Post-Elements = document.getElementsByClassName("middle-Element-class");
    var i;
    for (i = 0; i < middle-Post-Elements.length; i++) {
      middle-Post-Elements[i].innerHTML = containerID.innerHTML;
    } 

3-现在,在您希望代码出现的地方,只需在您的帖子编辑器中添加此HTML标记即可:

<div class="middle-Element-class"></div>