Dynamische Facebook- und Meta-Tags in Wordpress PHP

Ich versuche, meiner Wordpress-Site dynamische Facebook- und Meta-Tags hinzuzufügen. Ich füge sie zu single.php hinzu, anstatt der normalerweise empfohlenen Datei functions.php, da ich darunter Code für eine von mir erstellte Facebook-App habe, die jedes Mal ausgeführt werden muss, wenn jemand einen einzelnen Blog-Beitrag ansieht, weil er dann auf Facebook veröffentlicht wird Timeline, dass sie diesen bestimmten Beitrag gelesen haben. Ich möchte kein Plugin verwenden, da einige meiner Plugins miteinander in Konflikt standen und es ein Chaos war, dies zu korrigieren. Mein größtes Problem ist, dass ich das braucheog:url Tag, um dynamisch zu sein, obwohl dieog:title, og:description, og:imageusw. sollte auch sein. Hier ist der Code, den ich oben in meiner single.php-Datei habe:

BEARBEITEN: HIER IST DER ARBEITSCODE, DEN ICH JETZT BENUTZE. DANKE FÜR JEDE HILFE:

    <?php

$params = array();
if(count($_GET) > 0) {
    $params = $_GET;
} else {
    $params = $_POST;
}
// defaults
if($params['type'] == "") $params['type'] = "picture";
if($params['locale'] == "") $params['locale'] = "en_US";
if($params['description'] == "") $params['description'] = "Visit Internet LOLs for the funniest humor on the web! :)";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# internetlolsapp: http://ogp.me/ns/fb/internetlolsapp#">
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

        <!-- Open Graph meta tags -->
        <meta property="fb:app_id" content="378076268920252" />
        <meta property="og:site_name" content="meta site name"/>
        <meta property="og:url" content="<?php echo 'http://internetlols.com'.$_SERVER['REQUEST_URI']; ?>"/>
        <meta property="og:type" content="internetlolsapp:<?php echo $params['type']; ?>"/>

        <meta property="og:description" content="<?php echo $params['description']; ?>"/>

    </head>
</html>

  <script type="text/javascript">
  function postView()
  {
      FB.api(
        '/me/internetlolsapp:view',
        'post',
        { picture: '<?php echo 'http://internetlols.com'.$_SERVER['REQUEST_URI']; ?>' },
        function(response) {
       if (!response) {
          // FAIL GRACEFULLY alert('Error occurred : No Response');
       } else if (response.error) {
          // FAIL GRACEFULLY alert('Error occurred : ' + response.error);
       } else {
          // SUCCESS alert('View was successful! Action ID: ' + response.id);
       }
        });
  }
  </script>
</head>
<body>
  <div id="fb-root"></div>
  <script>
    window.fbAsyncInit = function() {
      FB.init({
        appId      : '378076268920252', // App ID
        status     : true, // check login status
        cookie     : true, // enable cookies to allow the server to access the session
        xfbml      : true  // parse XFBML
      });
    };

    // Load the SDK Asynchronously
    (function(d){
      var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
      js = d.createElement('script'); js.id = id; js.async = true;
      js.src = "//connect.facebook.net/en_US/all.js";
      d.getElementsByTagName('head')[0].appendChild(js);
    }(document));
  </script>



</body>

<body onload='postView()'>
</html>

Ich versuche, den hier angegebenen Code zu befolgen:Generieren von Facebook Open Graph-Metatags dynamisch und es postet auf meiner Facebook-Timeline, wann immer ich einen Blog-Post lese, aber für den Titel gibt es natürlich "Standardtitel" und wenn ich auf den Link "Standardtitel" auf meiner Facebook-Timeline klicke, schickt es mich zur URL für Single .php mit ein bisschen Unsinn am Ende der URL

http://MYSITE.com/wp-content/themes/twentyeleven/single.php?fb_action_ids=10151048340001514&fb_action_types=internetlolsapp%3Aview&fb_source=other_multiline

anstelle der URL des Blogposts. Ich frage mich, ob es irgendetwas mit der URL zu tun hat, die ich in der 3. Zeile nach "FB.api" eingegeben habe, aber alles andere, was ich dort versucht habe, verhindert, dass die App beim Lesen überhaupt etwas auf meiner Facebook-Timeline veröffentlicht ein Blogbeitrag.

Irgendwelche Ideen, wie das behoben werden kann? Ich habe mir damit seit Tagen die Haare ausgerissen. Jede Hilfe wäre sehr dankbar! Danke im Voraus.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage