0

i wanted to execute a code after the Content of each blog post. I just want it to be on posts and not on pages. I could execute simple html by the method but could not put the following content. Please help me out with a code to execute the following code at the end of content.

The code is simple in sense, but unlike most people who would echo html i need to have a mixture of php, JS and HTMl echoed after my content. The solution seems simple but i could not figure it out.

    <div class="css">
<?php if ( should_display_link() ) : ?>
[subscribe-author-button]
<?php echo '<a class="btn" style="background-color:#1f1fff; border-radius:100px;" href="'.site_url('chat/').'?new-message&to='.get_the_author_meta( 'user_login' ).'">Chat</a>' ; ?>
<?php endif; ?>
[simple-author-box]
<?php if ($post->post_status == "publish")  { ?>
<h4>[post-views]</h4>
<?php   }  else {echo "<span></span>";} ?> 
<?php if ( should_display_link() ) : ?>
<a class="btn" href="https://adityaagarwal3.typeform.com/to/Lin6FB" data-mode="popup" style="background-color:#DB4437;color:white;border-radius:25px;" data-hide-headers=true data-hide-footer=true data-submit-close-delay="5" target="_blank">Report Content </a> <script> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm_share", b="https://embed.typeform.com/"; if(!gi.call(d,id)){ js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() </script>
<?php endif; ?>

</div>

1 Answer 1

0

You can try my approach which is used to do your requirement:

function themename_your_content_after($content) {
    if( is_single() ):
    ob_start();
    ?>
     <div class="css">
    <?php if ( should_display_link() ) : ?>
    [subscribe-author-button]
    <?php echo '<a class="btn" style="background-color:#1f1fff; border-radius:100px;" href="'.site_url('chat/').'?new-message&to='.get_the_author_meta( 'user_login' ).'">Chat</a>' ; ?>
    <?php endif; ?>
    [simple-author-box]
    <?php if ($post->post_status == "publish")  { ?>
    <h4>[post-views]</h4>
    <?php   }  else {echo "<span></span>";} ?> 
    <?php if ( should_display_link() ) : ?>
    <a class="btn" href="https://adityaagarwal3.typeform.com/to/Lin6FB" data-mode="popup" style="background-color:#DB4437;color:white;border-radius:25px;" data-hide-headers=true data-hide-footer=true data-submit-close-delay="5" target="_blank">Report Content </a> <script> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm_share", b="https://embed.typeform.com/"; if(!gi.call(d,id)){ js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() </script>
    <?php endif; ?>
    </div>
    <?php
    $code_content = ob_get_clean();
    $content .= $code_content;
    endif;
    return $content;
}
add_filter('the_content', 'themename_your_content_after');
4
  • Thanks. Will let you know in a few minutes, if it works
    – user160406
    Commented Feb 28, 2019 at 5:10
  • It will output the code after every post content on the single post page. So if you have any “related posts” on that site, they will also get appended. Commented Feb 28, 2019 at 6:00
  • It worked well. The code is executed before the related posts and comments section at my site and that is as expected. Thanks
    – user160406
    Commented Feb 28, 2019 at 9:45
  • Great @AdityaAgarwal. Good Luck!
    – Balas
    Commented Feb 28, 2019 at 11:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.