Я должен добавить префикс на некоторых страницах моего сайта, и он показывает содержание моей существующей страницы (значит, без префикса страницы) в WordPress - PullRequest
0 голосов
/ 09 января 2020
$items =  array( 'page' ); 

foreach( $items as $item )
{
    add_filter( $item . '_link', 'my_link', 99, 2 );
}

function my_link($permalink, $post ) 
{   
     $pagearr = array('daily-dairy', 'free-downloads','latest-essay-topics','practice-           tests','practice-exercises','video-lectures','contacts','sample1','sample3');
     $arr = explode('/',$permalink);

     if(in_array($arr[sizeof($arr)-2],$pagearr)){
         $permalink = str_replace( get_site_url(), get_site_url() . '/institute',   $permalink );   
         return $permalink;
    }else{
         return $permalink;
    }   
}

Этот код добавляет префикс в URL моей страницы, но показывает, что страница не найдена при добавлении префикса. Я должен показать содержимое без страницы префикса.

1 Ответ

0 голосов
/ 10 января 2020

Вы не упомянули здесь, какой хук, который вы используете для этих функций, вы написали в своем коде. Посмотрите на приведенный ниже код и скажите, работает ли он на вашем конце.

function change_blog_links($post_link, $id=0){

    $post = get_post($id);

    if( is_object($post) && $post->post_type == 'post' ||  $post->post_type == 'page'){
        return home_url('/YOUR_PREFIX/'. $post->post_name.'/');
    }

    return $post_link;
} 
add_filter('post_link', 'change_blog_links', 1, 3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...