Изменить / вставить символы в URL - PullRequest
0 голосов
/ 02 апреля 2020

Сегодня я научился многим вещам, как go, так что, надеюсь, этот вопрос ясен. У меня есть код ниже, который показывает все сообщения, написанные вошедшим в систему пользователем, если сообщение относится к категории c. Часть, которую я пытаюсь изменить, - это URL. Цель состоит в том, чтобы щелкнуть ссылку, и она переводит пользователя на страницу поиска, используя имя сообщения в качестве условий поиска. Так, например, если имя записи "iPhone X", URL приведет пользователя на страницу поиска для "iPhone X" и покажет все результаты.

Я близок, но проблема в том, что ... как написано, сгенерированный URL-адрес ... /? S = iPhone -x (обратите внимание на дефис)

Результаты поиска пишутся с "+" для каждого пробела ... /? S = iPhone + X

Есть ли способ, которым я могу либо реструктурировать URL в коде, либо как-то сказать системе заменить все «-» с «+» перед генерацией URL?

    function user_posts_exercise( ) {
    if (!is_user_logged_in()) return;
    $items='';   
    $args = array(
        'post_type'      => 'post',
        'author'         => get_current_user_id(),
        'status'         => 'publish',
        'posts_per_page' => 10,
        'category_name'       => 'Exercise'
        );
    $jobs = get_posts( $args );
    foreach($jobs as $job){
      $link = '<a href="'.home_url('/?s='.$job->post_name).'">'.$job->post_title.'</a> 
    </BR>'; 
      $items = $items . $link;
      }
    return $items;
    }
    add_shortcode( 'exercise_user_posts', 'user_posts_exercise' ); 

1 Ответ

0 голосов
/ 02 апреля 2020

Браузер должен без проблем обрабатывать пробелы, однако вы можете использовать urlencode для экранирования символов.

urlencode( $job->post_title )

для преобразования пробела в символы + для правильной кодировки или использования функции нажатия слов

add_query_arg( 's', $job->post_title, home_url() )

и пусть он разбирается с кодировкой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...