Habe eine function, die ich verwende, um Open Graph-Tags in der Kopfzeile jeder Seite zu drucken. Ich habe auch ein Plugin, das ich auf Facebook posten kann, das auch seine eigenen grundlegenden OG-Tags einfügt. Facebook mag es nicht, wenn eine Seite mehr als ein og: url-Tag ist. Das Plugin funktioniert nur auf einzelnen Seiten, daher möchte ich mein og: url-Tag nicht drucken, wenn es sich auf einer einzelnen Post-Seite befindet. Ich möchte für is_home und is_tag testen und wenn diese wahr sind, wird die function das og: url-Tag drucken. Das andere Problem ist, dass die Homepage eine völlig andere URL als die Tag-Seite hat. Ich habe versucht, die Bedingung innerhalb der Meta-Tag, aber Facebook erbricht, wenn die Og: URL-Zeile existiert sogar.
Hier ist der Code, den ich derzeit habe und alles außer dem bedingten für das og: url-Tag funktioniert:
function wpc_fb_opengraph() { $wpc_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large'); ?> <?php echo "\n\n"; ?> <meta property="og:image" content="" /> <meta property="og:site_name" content="" /> <meta property="og:description" content="" /> <meta property="og:title" content=""> <meta property="og:type" content=""> if (is_home()) { <meta property="og:url" content="" /> <?php } //end if home elseif ( is_tag() ) { <meta property="og:url" content=""> <?php } <?php echo "\n\n"; ?> <?php } add_action('wp_head', 'wpc_fb_opengraph');
Ich bekomme einen Syntaxerrors in jeder der Zeilen, die für die Seite prüfen. Ich bin ratlos.
Nach dem, was ich verstehe, brauchen Sie Hilfe bei der Gestaltung Ihrer Logik? Und die Verwendung der PHP-Tags sieht auch nicht richtig aus.
Hilft das –
< ?php if(!is_single()){ if(is_home() || is_front_page()){ // not sure if you have set a static page as your front page echo ''; }elseif(is_tag()){ echo ''; } } ?>
=================== Dies ist der Code in der Gesamtheit =========================
function wpc_fb_opengraph() { $wpc_image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'large'); ?> < ?php echo "\n\n"; ?> " /> "> if(!is_single()){ if(is_home() || is_front_page()){ // not sure if you have set a static page as your front page echo ''; }elseif(is_tag()){ echo ''; } } < ?php echo "\n\n"; ?> < ?php } add_action('wp_head', 'wpc_fb_opengraph');
Hier ist der korrigierte Code, um mein Problem zu lösen.
< ?php if(!is_single()){ if(is_home() || is_front_page()){ // not sure if you have set a static page as your front page echo ''; }elseif(is_tag()){ echo ''; }
}?>
Ich habe diesen Block zu meiner function hinzugefügt und er tut, was ich tun muss – schreibe die URL der Seite in Abhängigkeit davon, ob es sich um die Homepage oder eine Tag-Seite handelt.
Das letzte Problem bestand darin, Syntaxerrors mit den Daten in den Echo-statementen zu bekommen, also habe ich einen PHP-Code-Checker benutzt, um diese zu beseitigen.