Wordpress:echo current post postinkink

时间:2016-01-14 12:35:35

标签: php wordpress

我编码社交分享按钮,我想在其中将single.php模板中的当前帖子链接到社交媒体共享链接。

当我附上永久链接以分享网址时的问题,它不会提供帖子的完整网址:

我尝试了http://twitter.com/share?url=<?php the_permalink() ?>但只提供了/post/69而不是http://example.com/post/69的输出。

任何建议?

4 个答案:

答案 0 :(得分:9)

在post循环之外,您可以使用wordpress get_permalink()函数。在循环内部,您可以使用the_permalink($post->ID),尽管这会直接回显网址。这是来自wordpress.org的参考资料。

https://developer.wordpress.org/reference/functions/get_permalink/ https://codex.wordpress.org/Function_Reference/the_permalink

答案 1 :(得分:1)

在WP中,您可以使用get_permalink()函数

获取帖子的永久链接

Codex - get_permalink()

你可以这样使用它:

global $post;
<?php echo get_permalink($post->ID);?>

如果您在TheLoop中,可能就是这种情况,如果您在single.php,那么您可以使用the_permalink() - 它将直接回显该链接。

Codex - the_permalink()

答案 2 :(得分:0)

在你的WordPress中任何模板,page.php,single.php,serach.php或其他页面下面的代码都可以正常工作。 get_permalink是WP函数,get_the_ID()也是WP函数,它将获得post id,page id。试试这段代码。

尝试将此函数转换为functions.php相对永久链接

function get_relative_permalink( $url ) {
    return str_replace( home_url(), "", $url );
}
echo get_relative_permalink(get_permalink(get_the_ID()));

输出/post/50/

function get_relative_permalink( $url ) {
    $url = home_url($url);
    return esc_url($url);
}
echo get_relative_permalink($_SERVER['REQUEST_URI']);

http://twitter.com/share?url=<?php echo get_relative_permalink($_SERVER['REQUEST_URI']); ?>

global $post;
echo get_permalink($post->ID);

the_permalink();

See this link

See also

答案 3 :(得分:0)

很抱歉混淆。

一切正常,除了我使用Prepros实时SASS编译器使用自定义端口进行预览example.com:4000导致问题。只要我切换到标准网址example.com,一切正常。

感谢所有人的宝贵贡献。