web-dev-qa-db-ja.com

投稿の管理ページの表示リンクを新しいウィンドウまたはタブで開く方法はありますか?

こんにちは私はどのように新しいタブまたはウィンドウで開くために管理の記事/カスタムの記事タイプとページの上の「見る」リンクを得るかについて解明しようとしています。

A screenshot of what I am talking about.

私はそれがおそらくテーマのfunctions.phpファイルを介して行うことが可能であることを知っていて、プラグインを使用するよりもむしろそのルートに行くほうがいいでしょう。

これで任意の助けがいただければ幸いです。ありがとうございました。 :)

1
Nicole

返事

WPコアはそのような場合のための機能を提供しています。

プラグインにまとめ

Mu-pluginとして最適です。

<?php 
/* Plugin Name: (#32093) »kaiser« Open "action"-links in post type list screens in new windows/tabs */

function wpse32093_link_target_blank( $actions, $post )
{
    return array_map( 'links_add_target', $actions );
}
// Add to each post type
foreach ( array( 'post', 'page' ) as $post_type )
    add_action( "{$post_type}_row_actions", 'wpse32093_link_target_blank', 20, 2 );

プラグインはテスト済みでシームレスに動作します。 foreachループ内の配列内でアクティブにする投稿タイプを調整できます。

1
kaiser
<?php
/*
Plugin Name: [Editor] Popup View
Author URI: http://www.earnestodev.com/
Description: Opens View link in new windows for in posts and pages manager.
Author: EarnestoDev
Version: 5.U.B
Author URI: http://www.earnestodev.com/
*/
// ----------------------------------------------------------------- //
function popup_view_row_action($actions, $post){
    // Walk array with value references for easy changing
    if(is_array($actions)) foreach($actions as $key => &$value){
        // For the right row_action
        if(($key === 'view') and is_string($value)){
            // Add the target="_blank" in the A tag's attributes
            $value = preg_replace('~<a[\s]+~i', '<a target="_blank" ', $value);
        }
    }
    return $actions;
}
// ----------------------------------------------------------------- //
// Hooks both hierarchical and non-hierarchical
add_action('page_row_actions', 'popup_view_row_action', 11, 2);
add_action('post_row_actions', 'popup_view_row_action', 11, 2);
// ----------------------------------------------------------------- //
?>

ここにファイルを置く/ wp-contents/mu-plugins/popup-view-action.phpまたはここ /wp-contents/plugins/pupup-view-action.phpしてからアクティブにします。

よろしく。

1
EarnestoDev