サポート » 使い方全般 » 管理画面の記事一覧のタイトルリンク先を書き換えたい

  • 解決済 d.w.c

    (@dwc-1)


    管理画面で投稿一覧を表示した際に、デフォルトではタイトルからリンクされているのは編集ページになりますが、これを表示ページ(フロント側)へのリンクに変えたいです。
    その際、タイトルにカーソルを合わせた時にタイトル下に出てくる『編集』の文字のリンク先は書き換えずに残す必要があります。
    子テーマ内のfunctions.phpにコードを書いて変更させるつもりです。

    apply_filters( "manage_{$post_type}_posts_columns", string[] $post_columns )
    WP_Posts_List_Table::column_title( WP_Post $post )
    あたりを使うんじゃないかという所までは推測したのですが、具体的な書き換え方がわかりません。

    具体的な書き換えの仕方や、参考にしやすいサイトなどありましたら教えていただけるとありがたいです。

    • このトピックはd.w.cが1年、 1ヶ月前に変更しました。
4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    ざっと見た感じでは、簡単に書き換える適当な手段(フックや設定)は用意されてないようです。

    JavaScript なら「表示」のリンクから URL を取得して「タイトル」のリンクを書き換えればいいのでそれほど手間はかからなそうですが……。

    ご参考になれば。

    トピック投稿者 d.w.c

    (@dwc-1)

    調べていただいてありがとうございます。

    なるほど、JavaScriptで書き換えてしまう方法がありましたね。
    PHP自体を書き換えれないのは残念ではありますが、そちらの方からやってみます!
    ありがとうございます。

    サンプル コードを書いてみました。

    function my_enqueue_scripts( $hook ) {
    	if ( 'edit.php' != $hook ) {
    		return;
    	}
    
    	$script = <<<SCRIPT
    (function($) {
    	$(document).ready(function() {
    		$('a.row-title').each(function(index, value) {
    			$(this).attr('href', $(this).parent().parent().find('.row-actions .view a').attr('href'));
    		});
    	});
    })(jQuery);
    SCRIPT;
    
    	wp_add_inline_script( 'jquery', $script );
    }
    add_action( 'admin_enqueue_scripts', 'my_enqueue_scripts' );
    
    トピック投稿者 d.w.c

    (@dwc-1)

    ありがとうございます!とても助かります。
    そのままコピペで使えました。
    見慣れない記述方法があったのでそれも調べつつ、カスタマイズ方法も調べてみます。

    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「管理画面の記事一覧のタイトルリンク先を書き換えたい」には新たに返信することはできません。