Frage

Ich habe eine Funktion in meinem Plugin append_the_content($content) Dies wird verwendet, um meine Funktion im Beitrag anzuzeigen, aber es kommt vor dem Beitrag. Ich möchte sie nach dem Beitrag schaffen, dafür habe ich diesen Code ausprobiert, aber auch nicht kommt es nicht

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
}

Wie kann ich es nach dem Beitrag schaffen ???

War es hilfreich?

Lösung

Bearbeitet, versuchen Sie es

<?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

}

?>

Andere Tipps

Höchstwahrscheinlich deine the_twitter_feed() Funktion echoes Ergebnisse statt von returnsie.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top