2016-07-24 4 views
9

私のワードプレスのブログにはいくつかのページがある記事があります。たとえば、私は私のブログで次のリンクを持っている場合:ワードプレスでのカスタムページ作成パーマリンクの作成方法

http://example.com/heartbreaking-photos 私はあることを目的とした

http://example.com/heartbreaking-photos/2

http://example.com/heartbreaking-photos/CUSTOM-STRINGにCUSTOM-STRINGから2番目のページのリンクを変更することができますどのように任意のアイデアをページ内のカスタムタイトル

答えて

5

これを実現するには、2件の観光名所する必要があります。

  1. デフォルトのWordPress標準的なリダイレクトを無効にする - それが遭遇した場合、これは必要であるが、ワードプレスは常に/2/ページにリダイレクトされますので、をURLまたはクエリargsのpageパラメータ。

  2. カスタムタイトルをページの2ページ目に表示する - これは基本的に必要なリンク形式を許可するために必要です。

    コードの面では

、これは何が必要です(これは実用的なソリューションである、私はちょうどそれをローカルにテストしてみた):

// Removes the canonical redirection 
remove_filter('template_redirect', 'redirect_canonical'); 

// Add custom rewrite rules 
add_action('init', 'my_add_custom_rewrite_rules'); 
function my_add_custom_rewrite_rules() { 
    // Slug of the target page 
    $page_slug = 'heartbreaking-photos'; 

    // Page number to replace 
    $page_num = 2; 

    // Title you wish to replace the page number with 
    $title = 'custom-string'; 

    // Add the custom rewrite rule 
    add_rewrite_rule(
     '^' . $page_slug . '/' . $title . '/?$', 
     'index.php?pagename=' . $page_slug . '&page=' . $page_num, 'top' 
    ); 
} 

あなたが設定またはしたい場合があります3つのものがあります。ここでの変更:

  1. $page_slug - これはこれはheartbreaking-photos
  2. $page_numであるあなたのケースでは、あなたのページのスラグであります - あなたのページングページの番号は、2
  3. $title - あなたのページ番号2の代わりに使用したいタイトルです。

このコードと同じように、コードを自由に変更したり、追加のケースをカバーしてコピーしてください。

EDIT

重要:あなたがコードを使用すると、設定>パーマリンクに移動し、 "変更の保存" ボタンをクリックしてください。これにより、書き換えルールが再構築され、ソリューションが機能するために必要です。

希望に役立ちます。ご質問がある場合はお知らせください。

+0

返信いただきありがとうございます。私はあなたのソリューションをローカルで試しましたが、動作させることができませんでした。私はちょうど確かに2つの異なるテーマを試しました。私は 'functions.php'の最初と最後にコードを追加しようとしました。私はポストスラッグの変更も確実にしていました。私のマシン上では何が違うのでしょうか? – Delashmate

+0

私は小さな事を一つ忘れてしまったので、私の答えを更新しました。書き換えルールを変更したら(このコードのように)、[設定]> [固定リンク]に移動し、[変更を保存]ボタンをクリックします。これにより、書き換えルールが再生成されるため、変更が実際に機能します。あなたが一度それを試してトラブルがある場合は教えてください。 –

0

[OK]をして、ページのタイトルを呼び出すことができますので、基本的にはそうでないを使用ページの下にナビゲーションリンクを表示したい(子テーマの投稿テンプレートを変更するかCSSを使用)し、カスタムリンクを追加したい。私はそれをよく理解していれば:

削除ナビゲーションリンクを(基本的にはあなたのテーマに依存しますが、):

.nav-links { display: none; } 

あなたが機能+カスタムfiledsを通じてカスタムリンクを追加することができます。

は、カスタムフィールドを作成あなたのポストでは、例えば「私の-URL」、コーデックスを参照してください:https://codex.wordpress.org/Custom_Fields

(子テーマやカスタムサイトのプラグインで)あなたのfunctions.phpに追加します。

function my_page_add_to_content($content) { 

    if (! empty(get_post_meta(get_the_ID(), 'my-url', true)) { 
     $content .= '<a href="'.get_post_meta(get_the_ID(), 'my-url', true).'">URL TEXT HERE</a>' 
    } 

    return $content; 
} 
add_filter('the_content', 'my_page_add_to_content'); 
関連する問題