Ändern Sie das Ziel der Ansicht Link in Admin

Wir entwickeln uns an zwei Standorten. Eine Seite enthält unseren Inhalt, die andere zeigt sie an.

Wenn wir also Posts im WP-Admin anzeigen, zeigt der View-Link auf die Instanz, auf der er sich befindet, was uns nicht hilft, wenn wir den Post sehen wollen. Beispielsweise,

Datenseite: http://site1.com

Website anzeigen : http://site2.com

Ich muss unseren Ansichtslink auf der Datenseite in etwas wie: http://site2.com/12345 ändern

Gibt es einen Hook, den ich verwenden kann, um zu modifizieren, was im View-Link im WP-Admin eingestellt ist?

Solutions Collecting From Web of "Ändern Sie das Ziel der Ansicht Link in Admin"

Der Link “View”, auf den Sie sich beziehen, ist nicht der einzige Ort, an dem sich die URL ändern sollte, also habe ich mir die Freiheit genommen und sie auch an den anderen Stellen geändert.

Dies betrifft nur veröffentlichte Posts und Seiten.

Linkänderungen anzeigen

Es ist ziemlich viel Code, aber das sollte es tun.

// Change the "View" link on the all posts page. function my_custom_view_link( $actions, $page_object ) { $title = _draft_or_post_title(); $actions['view'] = sprintf( 'https://wordpress.stackexchange.com/questions/245033/change-target-of-view-link-in-admin/%s', my_custom_permalink( $post->ID ), esc_attr( sprintf( __( 'View “https://wordpress.stackexchange.com/questions/245033/change-target-of-view-link-in-admin/%s”', 'my-text-domain' ), $title ) ), __( 'View', 'my-text-domain' ) ); return $actions; } add_filter( 'post_row_actions', 'my_custom_view_link', 10, 2 ); // Change the "Post updated" link on the edit post page after saved. function my_custom_post_updated_messages( $messages ) { global $post_ID; $view_page_link_html = sprintf( ' %2$s', esc_url( my_custom_permalink( $post_ID ) ), __( 'View post', 'my-text-domain' ) ); $messages['post'][1] = __( 'Post updated', 'my-text-domain' ) . $view_page_link_html; return $messages; } add_filter( 'post_updated_messages', 'my_custom_post_updated_messages', 10, 1 ); // Change the "Post updated" link on the edit post/page after saved. function my_custom_post_preview_link( $return, $post_id, $new_title, $new_slug, $post ) { if ( 'publish' !== $post->post_status ) { return $return; } if ( false === strpos( $permalink, '%postname%' ) ) { $view_link = my_custom_permalink( $post_id ); $display_link = urldecode( $view_link ); $preview_target = " target='wp-preview-{$post->ID}'"; $return = '' . __( 'Permalink:', 'my-text-domain' ) . "\n"; $return .= '' . esc_html( $display_link ) . "\n"; } return $return; } add_filter( 'get_sample_permalink_html', 'my_custom_post_preview_link', 10, 5 ); // Replace the base url with a custom one. function my_custom_permalink( $post_id ) { return str_replace( home_url(), 'http://site2.com', get_permalink( $post_id ) ); }