go23user

حذف category base تنها از آدرس پست ها

2 پست در این موضوع قرار دارد

سلام ، درود دوستان

چطور میشه تنها categorybase رو از آدرس پست ها و نه از آدرس درسته بندی ها حذف کرد ،

حالت کنونی : domain.ir/cat1/subcat/postname

حالت مد نظر : domain.ir/subcat/postname


و در آدرس کتگوری ها تغییری ایجاد نشه و فقط از پست ها categorybase حذف شه.

 

از چندین پلاگین مثل no category url استفاده کردم اما جواب نداد ، مد نظر اینه که تنها از آدرس پست ها کتگوری اصلی حذف شه و ساب کتگوری آخر هر کتگوری و نام پست نمایش داده شن

و در آدرس کتگوری ها تغییری ایجاد نشه و کتگوری اصلی در اون نمایش داده شه.

 

کسی تا به حال اینو تجربه کرده ؟

 

خدا پشت و پناه همگی

به اشتراک گذاری این پست


لینک به پست

از این کد استفاده کردم اما برای بعضی از پست ها page not found میده و بخشی از postname رو از بعضی از پست ها حذف می کنه مثلا چند کاراکتر از آخر نام پست ها رو در آدرس نهایی بعضی از پست ها کم می کنه حتی پست هایی با آدرس های کوتاه ، کی می دونه مشکلش از کجاست ؟

add_filter( 'post_link', 'remove_parent_cats_from_link', 10, 3 );
function remove_parent_cats_from_link( $permalink, $post, $leavename )
{
$cats = get_the_category( $post->ID );
if ( $cats ) {
// Make sure we use the same start cat as the permalink generator
usort( $cats, '_usort_terms_by_ID' ); // order by ID
$category = $cats[0]->slug;
if ( $parent = $cats[0]->parent ) {
// If there are parent categories, collect them and replace them in the link
$parentcats = get_category_parents( $parent, false, '/', true );
// str_replace() is not the best solution if you can have duplicates:
// myexamplesite.com/luxemburg/luxemburg/ will be stripped down to myexamplesite.com/
// But if you don't expect that, it should work
$permalink = str_replace( $parentcats, '', $permalink );
}
}
return $permalink;
}

 

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری