Wie man wordpress link bekommt, wenn man von Facebook kommt

Die kurze Version:

Jeglicher Link von Facebook zu einer Seite wird nicht mehr auf der “hardcoded page” in der WordPress Press-Installation ausgewertet, die restlichen Teile der URL werden ignoriert. Es erlaubt nicht den Shortcode, den ich schrieb, der automatisch den Inhalt auf einer Seite für jede reale Auflistung in einer externen Tabelle generiert, um zu bewerten.

Die lange Version

Ich habe ein WordPress-Plugin erstellt, das den Inhalt (Immobilienangebote) aus einer externen database anzeigt, die wie gewünscht funktioniert. Ich verwende einen Shortcode, um einzelne Einträge auf einer einzigen Seite anzuzeigen, zB: http://www.lbjrealestate.com/property/Horseshoe-Bay/Horseshoe-Bay-P/1104-unit-3-The-Cape/119526 /

Dies alles funktioniert spektakulär, bis Sie versuchen, einen Link zu der Eigenschaft von Facebook zu posten. FB wertet den obigen Link nur bis zu der Seite aus, die in WordPress (http://www.lbjrealestate.com/property/) existiert, die dann den Titel als “No properties match this mls number” rendert, und wie du vielleicht erwartest, das ist ein Problem. (beiseite: Google + behandelt den Link ganz gut)

Andere potenziell relevante Informationen: Ich verwende keinen benutzerdefinierten Post-Typ, sondern habe eine Seite mit einem Shortcode erstellt.

Hier ist der Initialisierungsbereich des Plugins, was fehlt mir?

class property_search { static $add_script; static function init() { add_action( 'wp_loaded', array(__CLASS__, 'ps_flush_rules' )); add_filter( 'rewrite_rules_array', array(__CLASS__, 'ps_insert_rewrite_rules' )); add_filter( 'query_vars', array(__CLASS__, 'ps_insert_query_vars' )); add_filter( 'the_title', 'do_shortcode' ); add_filter( 'wp_title', 'do_shortcode' ); add_shortcode('show_property', array(__CLASS__, 'property_shortcode')); add_shortcode('property_title', array(__CLASS__, 'property_title_shortcode')); } static function ps_flush_rules() { $rules = get_option( 'rewrite_rules' ); if ( ! isset( $rules['(property)/(.+)$'] ) || ! isset( $rules['(properties)/(.+)$'] ) ) { global $wp_rewrite; $wp_rewrite->flush_rules(); } } static function ps_insert_rewrite_rules( $rules ) { $newrules = array(); $newrules['(property)/(.+)$'] = 'index.php?pagename=$matches[1]&property=$matches[2]'; $newrules['(properties)/(.+)$'] = 'index.php?pagename=$matches[1]&geolocation=$matches[2]'; return $newrules + $rules; } static function ps_insert_query_vars( $vars ) { array_push($vars, 'property'); array_push($vars, 'geolocation'); return $vars; } ... } 

Solutions Collecting From Web of "Wie man wordpress link bekommt, wenn man von Facebook kommt"

Das Problem ist, dass die kanonische URL auf all diesen Seiten http://www.lbjrealestate.com/property/ lautet. Sie müssen entweder einen benutzerdefinierten kanonischen Link für Ihre Seiten erstellen oder ein og: url-Tag für Facebook zum Lesen bereitstellen. Geben Sie Ihre URL im Debugger ein, um zu sehen, was Facebook sieht.