append_content help

i have a function in my plugin append_the_content($content) this is used to display my function inside the post, but it is coming before the post, i want to make it after the post, for this i tried this code, but then too its not coming

function parse_twitter_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix) {
  $feed = str_replace("&lt;", "<", $feed);
  $feed = str_replace("&gt;", ">", $feed);
  $clean = explode("<content type="html">", $feed);

  $amount = count($clean) - 1;

  echo $prefix;

  for ($i = 1; $i <= $amount; $i++) {
    $cleaner = explode("</content>", $clean[$i]);
    echo $tweetprefix;
    echo $cleaner[0];
    echo $tweetsuffix;
  }

  echo $suffix;
}

function the_twitter_feed($username) {
  // $username = "Mba_"; // Your twitter username.
  $limit = "5"; // Number of tweets to fetch.

  /* These prefixes and suffixes will display before and after the entire block of tweets. */
  $prefix = ""; // Prefix - some text you want displayed before all your tweets.
  $suffix = ""; // Suffix - some text you want displayed after all your tweets.
  $tweetprefix = "<b>".$username.": </b> "; // Tweet Prefix - some text you want displayed before each tweet.
  $tweetsuffix = "<br>"; // Tweet Suffix - some text you want displayed after each tweet.

  $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" . $limit;

  $twitterFeed = get_transient($feed);
  if (!$twitterFeed) {
    $twitterFeed = wp_remote_fopen($feed);
    set_transient($feed, $twitterFeed, 3600); // cache for an hour
  }
  if ($twitterFeed)
    parse_twitter_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix);
}

function append_the_content($content) {
    if(get_option('tweetID')!=null){
    $content .= "<div class='post'><p>".the_twitter_feed(get_option('tweetID'))."</p></div>";
       echo $content;
      }
       else{
       return $content;
       }
}

add_filter('the_content', 'append_the_content');

add_action('admin_menu','tweet_fetch');

function tweet_fetch(){
add_options_page('Tweet','Tweet', 8, 'tweet', 'tweet_fetcher');
}
function tweet_fetcher(){
?>
<h2>Tweet Fetcher options</h2>
<table>
<form method='post' action='options.php' style='margin:0 20px;'>
<?php wp_nonce_field('update-options'); ?>
<tr><td>Twitter UserID:</td><td><input type="text" name="tweetID"  value="<?php echo get_option('tweetID'); ?>" <?php echo get_option('tweetID'); ?> />
</td></tr>

<input type='hidden' name='action' value='update'/>
<input type='hidden' name='page_options' value='tweetID'/>

<tr><td><p class='submit'>
<input type='submit' name='Submit' value='Update Options &raquo;'/>
</p></td></tr>
</table>
</form>
<?php
}

how can i make it after the post???

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Edited, try this

<?php

function parse_twitter_feed($feed, $prefix, $tweetprefix, $tweetsuffix, $suffix) {
    $feed = str_replace("&lt;", "<", $feed);
    $feed = str_replace("&gt;", ">", $feed);
    $clean = explode("<content type="html">", $feed);

    $amount = count($clean) - 1;

    $output = $prefix;

    for ($i = 1; $i <= $amount; $i++) {
        $cleaner = explode("</content>", $clean[$i]);
        $output .= $tweetprefix;
        $output .= $cleaner[0];
        $output .= $tweetsuffix;
    }

    $output .= $suffix;

    return $output;
}

function the_twitter_feed($username) {
    // $username = "Mba_"; // Your twitter username.
    $limit = "5"; // Number of tweets to fetch.

    /* These prefixes and suffixes will display before and after the entire block of tweets. */
    $prefix = ""; // Prefix - some text you want displayed before all your tweets.
    $suffix = ""; // Suffix - some text you want displayed after all your tweets.
    $tweetprefix = "<b>" . $username . ": </b> "; // Tweet Prefix - some text you want displayed before each tweet.
    $tweetsuffix = "<br>"; // Tweet Suffix - some text you want displayed after each tweet.

    $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=" .
        $limit;

    $twitterFeed = get_transient($feed);
    if (!$twitterFeed) {
        $twitterFeed = wp_remote_fopen($feed);
        set_transient($feed, $twitterFeed, 3600); // cache for an hour
    }
    if ($twitterFeed)
        return parse_twitter_feed($twitterFeed, $prefix, $tweetprefix, $tweetsuffix, $suffix);
}

function append_the_content($content) {
    if (get_option('tweetID') != null) {
        $content .= "<div class='post'><p>" . the_twitter_feed(get_option('tweetID')) .
            "</p></div>";
        return $content;
    } else {
        return $content;
    }
}

add_filter('the_content', 'append_the_content');

add_action('admin_menu', 'tweet_fetch');

function tweet_fetch() {
    add_options_page('Tweet', 'Tweet', 8, 'tweet', 'tweet_fetcher');
}

function tweet_fetcher() {

?>
<h2>Tweet Fetcher options</h2>
<table>
<form method='post' action='options.php' style='margin:0 20px;'>
<?php

    wp_nonce_field('update-options');

?>
<tr><td>Twitter UserID:</td><td><input type="text" name="tweetID"  value="<?php

    echo get_option('tweetID');

?>" <?php

    echo get_option('tweetID');

?> />
</td></tr>

<input type='hidden' name='action' value='update'/>
<input type='hidden' name='page_options' value='tweetID'/>

<tr><td><p class='submit'>
<input type='submit' name='Submit' value='Update Options &raquo;'/>
</p></td></tr>
</table>
</form>
<?php

}

?>

Method 2

Most likely your the_twitter_feed() function echoes results instead of returning them.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x