How php content after the first and second paragraph

admin2025-01-07  8

You have used the code of this question (Show content after the first and second paragraph) and it works correctly for me.

    <?php
$paragraphAfter[1] = '<div>AFTER FIRST</div>'; //display after the first paragraph
$paragraphAfter[3] = '<div>AFTER THIRD</div>'; //display after the third paragraph
$paragraphAfter[5] = '<div>AFTER FIFtH</div>'; //display after the fifth paragraph

$content = apply_filters( 'the_content', get_the_content() );
$content = explode("</p>", $content);
$count = count($content);
for ($i = 0; $i < $count; $i++ ) {
    if ( array_key_exists($i, $paragraphAfter) ) {
        echo $paragraphAfter[$i];
    }
    echo $content[$i] . "</p>";
} ?>

I've been watching and remixing. But I have not found the way to add a call type "get_template_part". I do not recognize the part of get_template_part. Where is the error, or can not be done?

Change this:

$paragraphAfter[1] = '<div>AFTER FIRST</div>'; 

For this:

$paragraphAfter[1] = '<div> get_template_part( 'ad-first' );</div>'; 

I have tried to make a simple echo, but there is something that I fail

$paragraphAfter[1] = '<div> echo "Hello world!"; </div>'; 

I can not get it to work :-( Any help or guidance is welcome, thanks

You have used the code of this question (Show content after the first and second paragraph) and it works correctly for me.

    <?php
$paragraphAfter[1] = '<div>AFTER FIRST</div>'; //display after the first paragraph
$paragraphAfter[3] = '<div>AFTER THIRD</div>'; //display after the third paragraph
$paragraphAfter[5] = '<div>AFTER FIFtH</div>'; //display after the fifth paragraph

$content = apply_filters( 'the_content', get_the_content() );
$content = explode("</p>", $content);
$count = count($content);
for ($i = 0; $i < $count; $i++ ) {
    if ( array_key_exists($i, $paragraphAfter) ) {
        echo $paragraphAfter[$i];
    }
    echo $content[$i] . "</p>";
} ?>

I've been watching and remixing. But I have not found the way to add a call type "get_template_part". I do not recognize the part of get_template_part. Where is the error, or can not be done?

Change this:

$paragraphAfter[1] = '<div>AFTER FIRST</div>'; 

For this:

$paragraphAfter[1] = '<div> get_template_part( 'ad-first' );</div>'; 

I have tried to make a simple echo, but there is something that I fail

$paragraphAfter[1] = '<div> echo "Hello world!"; </div>'; 

I can not get it to work :-( Any help or guidance is welcome, thanks

Share Improve this question asked Jan 24, 2019 at 10:07 joseyazjoseyaz 314 bronze badges
Add a comment  | 

3 Answers 3

Reset to default 1

I found a way to make a call to a get_template_part.

<?php 
$paragraphAfter[1] = '<div><?php get_template_part( "part-related", "ad-first" ); ?></div>'; //display after the first paragraph
$paragraphAfter[3] = '<div><?php get_template_part( "part-related", "ad-third" ); ?></div>'; //display after the third paragraph
$paragraphAfter[5] = '<div><?php get_template_part( "part-related", "ad-fifth" ); ?></div>'; //display after the fifth paragraph

$content = apply_filters( 'the_content', get_the_content() );
$content = explode("</p>", $content);
$count = count($content);
for ($i = 0; $i < $count; $i++ ) {
    if ( array_key_exists($i, $paragraphAfter) ) {
      $string = eval('?>'.$paragraphAfter[$i].'<?php;');    //  CLOSE PHP SINCE THE CHAIN ​​TO EVALUATE OPENS IT, AND THEN, OPEN PHP AS THE CHAIN ​​TO EVALUATE IT CLOSES IT
        echo $string;
    }
    echo $content[$i] . "</p>";
    }
?>

I think this is an improved version of the previous one:

<?php 
            $paragraphAfter[1] = "get_template_part( 'part-related', 'ad-first' );";
            $paragraphAfter[3] = "get_template_part( 'part-related', 'ad-third' );"; //display after the fifth paragraph
            $paragraphAfter[5] = "get_template_part( 'part-related', 'ad-fifth' );";


            $content = apply_filters( 'the_content', get_the_content() );
            $content = explode("</p>", $content);
            $count = count($content);
            for ($i = 0; $i < $count; $i++ ) {
                if ( array_key_exists($i, $paragraphAfter) ) {
                $string = eval($paragraphAfter[$i]);    // Eval string
                    echo $string;
                }
                echo $content[$i] . "</p>";
            }
     ?>
function insert_custom_content($content) {
    $custom_content = '<div>Content to be inserted</div>';

    if (is_single() && ! is_admin()) {
        return insert_after_paragraph($custom_content, 2, $content);
    }

    return $content;
}
add_filter('the_content', 'insert_custom_content');

function 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);
}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1736256695a382.html

最新回复(0)