私たちはWordpressを知識ベースとして使っています。メディアウィキとjekyllをGithubページ用に残し、さまざまなシステムの数を4つから1つに減らしました。ブログ用に1つのWordpressインストールと3つの異なる製品用に3つの異なる知識ベース用に3つ。利点は、編集者は3つではなく1つのシステムをマスターするだけでよいことです。
パーマリンクを/%postname%/に設定しました。これにより、ナイスで論理的なWebリンクになります。ほとんどのページで、エディタを使用して他のナレッジベースページへのリンクを追加しています。ポップアップで、リンクするページを選択しています。パーマリンクがページに追加されます。我々は常にナレッジベースに取り組んでいるので、ポストネームが変わることが起こるでしょう。これにより、変更された投稿にリンクしているインターネット上のナレッジベースページでエラー404が発生します。
そのため、投稿名の代わりにページID(?p = 123)を追加したいと思います。フロントエンドでリンクがクリックされると、WordpressはページIDを/%postname%/に書き換えるのに十分賢いようです。利点はすべてのページのリンクを変更する必要がないことです。 (またはこれも自動で行うことができますか?)
あなたのfunctions.phpにそれを追加します。
function wp_link_query_mod ( $results ){
if( count( $results ) ){
for( $i=0; $i<count($results); $i++ ){
$results[$i]['permalink'] = wp_get_shortlink( $results[$i]['ID'] );
}
}
return $results;
}
add_filter('wp_link_query', 'wp_link_query_mod');
このフックはWP 3.7以降でしか使えません。もしあなたが以前のバージョンを持っているなら代替手段がありますが、それはWPコアファイルの行を変更することを意味します。