WP Custom Permalink Filter

时间:2013-04-20 作者:Charl Crafford

我有一个自定义过滤器,它将图像#ID附加到图像href的末尾,但它返回2个url。

有人能看出我做错了什么吗?

function modify_attachment_link($markup, $id, $size, $permalink, $icon, $text) {

    $pos = strpos($markup, "href") + 6;
    $remainstring = substr($markup, $pos);
    $pos2 = strpos($remainstring, "\'");
    $url = substr($remainstring, 0, $pos2);
    $url .= "#image-".$id;
    return substr_replace($markup, \'\' . $url . \'\', $pos, strlen(\'\'));

}
add_filter( \'wp_get_attachment_link\', \'modify_attachment_link\', 10, 6 );
问候:)

1 个回复
SO网友:Charles Clarkson

strlen(\'\') 在里面substr_replace 将始终评估为0, 这不能替代任何东西。它只是在$pos.

您可以使用此选项:

function modify_attachment_link( $markup, $id ) {

    $pos = strpos( $markup, \'href\' ) + 6;

    $remainstring = substr( $markup, $pos );
    $pos2 = strpos( $remainstring, "\'" );

    $url = substr( $remainstring, 0, $pos2 );
    $url_length = strlen( $url );

    $url .= "#image-$id";
    return substr_replace( $markup, $url, $pos, $url_length );
}

结束

相关推荐

Taxonomy based permalinks

在我的网站上,我使用自己的分类法。我希望分类学与permalink相结合。因此,如果一个新闻页面有分类法,permalink就会改变。像这样:mysite。com/%custom\\u tax%/blog/%postname%,如果是一个页面,请点击:mysite。com/%custom\\u tax%/%postname%但如果没有我想要的分类法:mysite。com/blog/%postname%,如果它是一个页面:mysite。com/%postname%我怎样才能轻松地做到这一点?我已经设置了%c