Wordpress 'post_type_link' 隐藏永久链接

Wordpress 'post_type_link' hides permalink

所以我只是通过 WP-Types 插件添加了一个自定义 post 类型,没什么特别的,只是一个自定义 post 类型。现在此自定义 post 类型的永久链接未显示。

我发现这与使用以下代码重写我的 (Woocommerce) 产品永久链接有关:

function append_id_string( $link, $post ) {
    $post_meta = $post->ID;
    if ( 'product' == get_post_type( $post ) ) {
        $link = $link . '#' .$post_meta;
        return $link;
    }
}

add_filter( 'post_type_link', 'append_id_string', 1, 2 );

删除这段代码后,永久链接就会出现。

为什么上面的代码也会影响我的自定义 post 类型,我怎样才能使用此代码只影响我的 (Woocommerce) 产品

这是我的猜测,但我认为无论条件是否满足,您都应该 return $link 变量。像这样:

function append_id_string( $link, $post ) {
    $post_meta = $post->ID;
    if ( 'product' == get_post_type( $post ) ) {
        $link = $link . '#' .$post_meta;
    } 
    return $link;
}

add_filter( 'post_type_link', 'append_id_string', 1, 2 );