質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

877閲覧

WPのカテゴリの後ろに/(スラッシュ)を付け、固定ページの後ろには/(スラッシュ)を付けたくない

nyaos

総合スコア15

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/11/15 16:01

編集2018/11/15 16:28

前提・実現したいこと

元々ムーバブルタイプでサイトを作成しており、そのサイトをWPに移行しました。

その際、ファイル名(パーマリンク)がムーバブルタイプ時代と若干変わってしまいました。

実装したいのは
「カテゴリの後ろにはスラッシュをつける」
「固定ページの後ろにはスラッシュを付けない」
です。

■以前
http://example.com
http://example.com/category/
http://example.com/category/post_aaa.html(投稿ページ)
http://example.com/category/post_bbb.html(固定ページ)

■現在
http://example.com
http://example.com/category/
http://example.com/category/post_aaa.html(投稿ページ)
http://example.com/category/post_bbb.html/(固定ページ)

■したいこと
http://example.com
http://example.com/category/
http://example.com/category/post_aaa.html(投稿ページ)
http://example.com/category/post_bbb.html(固定ページ)

試したこと

ネットで調べてみて、とりあえず以下のタグをファンクションに入れたら、カテゴリと固定ページの両方にスラッシュが入ってしまいました。

function add_slash_uri_end($uri, $type) {
if ($type != 'single') {
$uri = trailingslashit($uri);
}
return $uri;
}
add_filter('user_trailingslashit', 'add_slash_uri_end', 10, 2);

つまり以下のような状態です。
■現在
http://example.com
http://example.com/category/
http://example.com/category/post_aaa.html(投稿ページ)
http://example.com/category/post_bbb.html/(固定ページ)

補足情報(FW/ツールのバージョンなど)

WordPress 4.9.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2018/11/15 16:15

また、質問タグにWordPressを追加することをお勧めします。
nyaos

2018/11/15 16:28

ありがとうございます。修正させていただきました。
guest

回答2

0

$typeの判別をすれば出来るのでは?
カテゴリとページはそれぞれ'category', 'page' のようです。

【user_trailingslashit | Hook | WordPress Developer Resources】
https://developer.wordpress.org/reference/hooks/user_trailingslashit/

$type_of_url

(string) The type of URL being considered. Accepts 'single', 'single_trackback', 'single_feed', 'single_paged', 'commentpaged', 'paged', 'home', 'feed', 'category', 'page', 'year', 'month', 'day', 'post_type_archive'.

投稿2018/11/15 16:35

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nyaos

2018/11/16 13:01

教えていただいた記述を色々試してみたのですが、PHPやWPのこの分野の知識に疎くて、どうしても実装できませんでした。実際にどのような記述をfunctionに入れたらよいか教えていただけませんか?
guest

0

自己解決

何とか解決できたので、私と同じことで悩んでいる人たちのために共有します。

// この下の記述部分で全てのページのURLの後ろに「スラッシュを付けろ」と命令を出しているようです。
add_filter( 'user_trailingslashit', 'hook_user_trailingslashit', 10, 2 );
if ( ! function_exists( 'hook_user_trailingslashit' ) ) :

function hook_user_trailingslashit( $string, $type_of_url ) {

// この下の記述部分で個別ページと固定ページの後ろから「スラッシュを除外しろ」と命令を出しています。
if ( $type_of_url != 'single' && $type_of_url != 'page')
$string = trailingslashit( $string );
return $string;
}
endif;

ファンクションをいじるため、少なくてもファンクションはバックアップしておいてから作業するようにしましょう。

投稿2018/11/17 17:43

nyaos

総合スコア15

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

webstyle

2022/08/06 13:09 編集

// この下の記述部分で全てのページのURLの後ろに「スラッシュを付けろ」と命令を出しているようです。 add_filter( 'user_trailingslashit', 'hook_user_trailingslashit', 10, 2 ); if ( ! function_exists( 'hook_user_trailingslashit' ) ) : function hook_user_trailingslashit( $string, $type_of_url ) { // この下の記述部分で個別ページと固定ページの後ろから「スラッシュを除外しろ」と命令を出しています。 if ( $type_of_url != 'single' && $type_of_url != 'page') $string = trailingslashit( $string ); return $string; } endif;
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問