Как я могу сохранить идентификатор страницы в публикации вместо другой выбранной постоянной ссылки?


Мы используем Wordpress в качестве базы знаний. Мы просто оставили mediawiki и jekyll для страниц Github и сократили количество различных систем с четырех до одной. Одна установка Wordpress для ведения блога и три для трех разных баз знаний для трех разных продуктов. Преимущество в том, что редакторам нужно освоить только одну систему вместо трех.

Мы установили для постоянных ссылок значение /%postname%/, что делает веб-ссылки приятными и логичными. На большинстве страниц мы добавляем ссылки на другие страницы базы знаний с помощью редактора. Во всплывающем окне мы выбираем страницу для ссылки. Постоянная ссылка будет добавлена на страницу. Поскольку мы постоянно работаем над Базой знаний, может случиться, что имя пользователя изменится. Это приведет к ошибке 404 на странице базы знаний internel, ссылающейся на измененную запись.

Поэтому я хотел бы добавить идентификатор страницы (?p=123) вместо названия поста. Когда ссылка нажата на интерфейсе Wordpress, кажется, что достаточно умен, чтобы переписать идентификатор страницы в /%имя записи%/ Преимущество в том, что мне не нужно менять ссылки на каждой странице. (или это тоже можно сделать автоматически?)

Author: Lea Cohen, 2014-07-28

1 answers

Добавьте это в свой 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.

 6
Author: Katrina, 2014-09-02 09:11:40