2016-12-09 3 views
0

Привет, ребята, может быть, кто-то может мне помочь. Она не работает, и я уже попробовал всеWordpress - shortcode для отображения постоянных ссылок

Это должно быть шорткод:

[permalink url="http://www.domain.com/" linktext="My Link Text"] 

И ассоциированной функции:

function external_permalink($atts) { 
    $atts = shortcode_atts(array(
    'linktext' => '', 
), $atts, 'permalink'); 

    $url = get_permalink(array(
    'url' => '', 
    'target' => 'self' 
), $url, 'url'); 

    return '<a href="' . $url['url'] . '">' . $atts['linktext'] . '</a>'; } 
add_shortcode('permalink', 'external_permalink'); 
+0

Вы должны расширить свой вопрос, так как он очень расплывчатый .. если он даже там вообще. Каков ваш ожидаемый результат, и что вы получаете? Вы отлаживали? Вы не можете просто сказать, что «это не работает». – Lee

+0

Я не уверен, в чем смысл этого короткого кода? Быстрее набрать 'Link', чем '[permalink ...]' эквивалент короткого кода (при условии, что он сработал). –

ответ

1

Я понятия не имею, почему вы даже get_permalink потому что его там не должно быть. Это должно работать

function external_permalink($atts) 
{ 
    $atts = shortcode_atts(array(
     'linktext' => '', 
     'url' => '' 
      ), $atts); 

    return '<a href="' . $atts['linktext'] . '" rel="nofollow">' . $atts['linktext'] . '</a>'; 
} 

add_shortcode('permalink', 'external_permalink'); 
0

@ Lee - Извините, я понял, что будет понятно, что я имею в виду.

@Kirk Борода - Может быть, но мне нравится, что лучше: [permalink url="http://www.domain.com/" linktext="My Link Text"]

как это: <div class="class1 class2"><a href="http://www.domain.com/" target="_blank">My Link Text</a></div>

@Igor Yavych - Замечательно! Это работает. Многое спасибо :)