Wordpress php echo链接不起作用

时间:2013-04-24 14:53:48

标签: php wordpress

我只是想通过一个简单的回声在页脚信用中添加链接。链接显示在页脚中,但是当您单击它们时,您将获得404页面。页面确实存在,如果您手动输入或使用html链接,页面将显示。我究竟做错了什么??

add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
        function custom_footer_creds_text() {
            echo '<div class="creds"><p>';
            echo 'Copyright &copy; ';
            echo date('Y');
            echo ' &middot; <a href="/privacy-policy/‎">Privacy Policy</a> &middot; <a href="/about-us/‎">Terms of Use</a>';
            echo '</p></div>';
        }

输出:

    <div class="creds">
    <p>Copyright © 2013 · <a href="http://speakeasy.stagetheweb.com/privacy-policy/‎">Privacy Policy</a> · <a href="http://speakeasy.stagetheweb.com/terms-of-use/‎">Terms of Use</a>
    </p></div>

5 个答案:

答案 0 :(得分:2)

你很可能从某个地方复制粘贴网址,对吗?

尝试手动重写整行,因为您可能在不知情的情况下复制了一些不可见的字符。

答案 1 :(得分:1)

尝试更换:

echo ' &middot; <a href="/privacy-policy/‎">Privacy Policy</a> &middot; <a href="/about-us/‎">Terms of Use</a>';

使用:

echo ' &middot; <a href="' . get_site_url() . '/privacy-policy/‎">Privacy Policy</a> &middot; <a href="' . get_site_url() . '/about-us/‎">Terms of Use</a>';

您也可以尝试使用home_url()代替get_site_url()。如果这不能解决问题,那么我们还不知道影响事物的其他因素。如果这没有帮助,请发布在实际网站上看到的页脚的HTML输出(例如视图源),以便我们可以看到生成的URL。

答案 2 :(得分:1)

看起来网址中有空格。我点击了http://speakeasy.stagetheweb.com/privacy-policy/链接,您的页面正常显示。但是当我点击链接时,地址栏中似乎有一个标签或&nbsp;或其他内容。

所以也许试试:

$privacylink = rtrim("/privacy-policy/");

echo ' &middot; <a href="' .$privacylink. '‎">Privacy Policy</a> &middot;';

如果这不起作用,则可能是.htaccess文件

中的内容

答案 3 :(得分:1)

请参阅代码中的字符无效。

enter image description here

这可能有用。我刚删除了代码中的无效字符。用这个替换块。

add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
        function custom_footer_creds_text() {
            echo '<div class="creds"><p>';
            echo 'Copyright &copy; ';
            echo date('Y');
            echo ' &middot; <a href="/privacy-policy/">Privacy Policy</a> &middot; <a href="/about-us/">Terms of Use</a>';
            echo '</p></div>';
        }

答案 4 :(得分:0)

如果是过滤器,则应返回该值。尝试:

add_filter( 'genesis_footer_creds_text', 'custom_footer_creds_text' );
function custom_footer_creds_text( $creds )
{
    $creds = '';
    $creds .= '<div class="creds"><p>';
    $creds .= 'Copyright &copy; ';
    $creds .= date( 'Y' );
    $creds .= ' &middot; <a href="' . home_url( '/privacy-policy/' ) . '‎">Privacy Policy</a> &middot; <a href="' . home_url( '/about-us/‎' ) . '">Terms of Use</a>';
    $creds .= '</p></div>';

    return $creds;
}