Intereting Posts
Пользовательские таксономические возможности Использует ли пользовательский запрос_var дыру безопасности? Термины таксономии сортируются по … Фамилия! Пользовательские функции роли для администратора не вступают в силу (нет плагина) Почему изображение жесткой обрезки для одного изображения с использованием add_image_size не работает? Как запустить PHP-программу, отличную от WordPress, на сайте WordPress? Использовать данные параметров из URL-адреса в WooCommerce Checkout Walker_Nav_Menu: поместите пользовательский код между конкретным <li> настраивая мой виджет категории в wordpress, чтобы разрешить соответствующую запись поиска. Почему сообщения WordPress не иерархичны? Как это сделать с помощью WordPress? Taxonomies? Присвойте описание по умолчанию новым терминам в рамках пользовательской таксономии Предотвратите установку cookie style.css и кеширование файлов Добавление URL-адреса в изображения JPEG в сообщениях Отфильтруйте комментарии с помощью определенных мета-ключей / ов в бэкэнде администратора

Изменить постоянную ссылку на внешний URL из настраиваемого поля

Я хочу, чтобы мои пользователи отправляли ссылки на мой сайт, как reddit и digg. Я добавил meta_key 'syndication_permalink', который содержит ссылку на этот пост. Как я могу изменить постоянную ссылку для ссылки на эту настраиваемую ссылку не на мою страницу?

Solutions Collecting From Web of "Изменить постоянную ссылку на внешний URL из настраиваемого поля"

Отфильтруйте post_link (или post_type_link для пользовательских типов сообщений), выберите и подтвердите значение метаданных, а затем верните это вместо исходной ссылки.

Как плагин:

 <?php /** * Plugin Name: External Permalinks * Plugin URI: http://wordpress.stackexchange.com/q/64285/73 * Description: Uses the value of post meta field <code>syndication_permalink</code> as permalink if available. * Version: 2012.11.13 * Author: Fuxia Scholz * Author URI: https://fuxia.me * Licence: MIT * License URI: http://opensource.org/licenses/MIT */ add_filter( 'post_link', 'wpse_64285_external_permalink', 10, 2 ); /** * Parse post link and replace it with meta value. * * @wp-hook post_link * @param string $link * @param object $post * @return string */ function wpse_64285_external_permalink( $link, $post ) { $meta = get_post_meta( $post->ID, 'syndication_permalink', TRUE ); $url = esc_url( filter_var( $meta, FILTER_VALIDATE_URL ) ); return $url ? $url : $link; } 

Пример ввода:

введите описание изображения здесь