0

我只是想用一个简单的回声在页脚信用中添加链接。链接显示在页脚中,但是当您单击它们时,您会看到一个 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>
4

5 回答 5

2

It's very likely that you copy-pasted the url from somewhere, right?

Try rewriting the whole line by hand, as you may have copied some invisible characters without your knowledge.

于 2013-04-25T05:25:20.800 回答
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。

于 2013-04-24T15:17:56.460 回答
1

请看,您的代码中有一个无效字符。

在此处输入图像描述

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

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>';
        }
于 2013-04-25T05:39:29.177 回答
1

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

所以也许尝试:

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

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

如果这不起作用,则可能是您的.htaccess文件中的某些内容

于 2013-04-24T17:53:12.113 回答
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;
}
于 2013-04-24T15:01:57.207 回答