-1

私が知っているように、WordPress は、データベースに同じ名前の投稿が既に存在する場合、パーマリンク (投稿名) の末尾にサフィックスを自動的に追加します。

しかし、メタタイトルの最後に接尾辞を追加しないでください。テーマに依存するためです。

とにかく、論文のテーマを使用しています。アーカイブのメタタイトルに重複したメタタイトルはありません。

ホームページ

mydomainname.com = ページ 1 のタイトルは<title>My Homepage Title</title>

mydomainname.com/page/ 2 = ページ 2 のタイトルは<title>My Homepage Title — Page 2</title>

カテゴリー

mydomainname.com/category/category-title = ページ 1 のタイトルは<title>My Category Title</title>

mydomainname.com/category/category-title/page/ 2 = ページ 2 のタイトルは<title>My Category Title — Page 2</title>

TAGS 同じで、常に動的に一意です。

ますます多くのページ 3,4,5++ のタイトルは、まだ一意 (重複していません) 自動的に.

私のブログで論文のテーマを使用しています (パブリック ユーザーは Fropnt End で投稿を更新できます)、ユーザーはフロント エンドでのみ投稿を作成し、著者は私の wp-admin CMS と論文の「詳細と追加のスタイル」フィールドにアクセスできません。では、投稿エントリのタイトルはどうでしょうか。ユーザーが同じタイトルで新しい投稿を作成するときにこの機能を取得するにはどうすればよいですか?

例、私は以下のようにしようとしています:

webresepi.com/sambal-udang = 最初の投稿のメタ タイトルは<title>Sambal Udang</title>

webresepi.com/sambal-udang- 2 = この投稿のタイトルは既にデータベースに存在するため、この投稿のメタ タイトルは次のようになります<title>Sambal Udang — 2</title>

投稿タイトルがデータベースに既に存在する場合、そのパーマリンクから番号を取得します。

4

1 に答える 1

-1

これは faa と同じ考え方を使用していますが、彼のソリューションには、機能を妨げる要素が非常に多く含まれています。FTP を使用してフォルダー /wp-content/themes/ でテーマを見つけ、このコードを functions.php に配置します。

add_action( 'template_redirect', function() {
if( is_single() ) { // Is a single post
    $slug = basename( $_SERVER['REQUEST_URI'] ); // The slug e.g. sambal-udang-2
    $slug = ucwords( str_replace( '-', ' ', $slug ) );
    add_filter( 'wp_title', function( $title ) use( $slug ) {
        return $slug;
    }); // This filter overrides wp_title which is used to print the meta title. It replaces whatever would we written normally with our edited version of the slug.
}
});

上記のコードは、サーバーが PHP バージョン 5.3 以降を使用していることを前提としています。古いシステムをサポートするには、匿名関数を廃止する必要があります。

add_action( 'template_redirect', 'xyz_tmplt_redirect' );

function xyz_tmplt_redirect() {
    if( is_single() ) {
        add_filter( 'wp_title', 'xyz_change_title' );
    }
}

function xyz_change_title( $title ) {
    $slug = basename( $_SERVER['REQUEST_URI'] ); // The slug e.g. sambal-udang-2
    $slug = ucwords( str_replace( '-', ' ', $slug ) );
    return $slug;
}
于 2013-01-20T09:47:54.453 に答える