Wordpress Пользовательский тип записи перезаписать постоянную ссылку на основе настраиваемого поля - PullRequest
0 голосов
/ 01 июля 2018

Мне нужно иметь возможность переписать постоянную ссылку сообщений пользовательского типа:

{пост-ID} .domain.com

и если {custom-field-1} сообщения имеет значение, то:

{пользовательские поля-1} .domain.com

Возможно ли это сделать с помощью API wp_rewrite или как-нибудь в коде регистрации почты?

Кстати - (ужасный) способ сделать это сейчас:

  1. Добавление подстановочного знака в мой домен (* .domain.com).

  2. В моем индексном файле я проверяю с помощью php, что такое url и является ли это доменом пользователя.

  3. если это так, я получаю часть поддоменов ("that-part" .domain.com) и проверяю, есть ли в моих сообщениях сообщение с этим значением в определенном настраиваемом поле или есть сообщение с этим идентификатором и, если есть, задайте для этой записи данные $ post и включите правильный файл шаблона для этого типа записи.

Я знаю, что это плохой способ. но пока это единственный способ, который я знаю, надеюсь, вы поможете найти лучшее решение.

1 Ответ

0 голосов
/ 01 июля 2018

Что вы уже пробовали? Поскольку wp_rewrite пока кажется самым простым решением.

Не уверен, как бы вы сделали это для субдомена без использования каких-либо поправок .htaccess. Однако, если основано на корневом домене; приведенное ниже [непроверенное] решение может работать:

function custom_rewrite() {
  if ( ! get_post_meta( 'your_key', get_the_ID() ) ) {
    add_rewrite_rule( '^' . get_the_ID(), 'index.php?post_id=' . get_the_ID() . ', 'top' );
  } else {
    add_rewrite_rule( '^' . get_post_meta( 'your_key', get_the_ID() ), 'index.php?post_id=' . get_the_ID() . ', 'top' );
  }
}
add_action( 'init', 'custom_rewrite' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...