亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么有些 Wordpress 菜單 post_name 值為數字而其他值為 slugs?

為什么有些 Wordpress 菜單 post_name 值為數字而其他值為 slugs?

PHP
米脂 2023-07-08 17:28:33
我是 WordPress 新手,正在查看表下的數據庫wp_posts,注意到一些菜單項行 (post_type= nav_menu_item) 的post_name值是數字,有些是菜單標簽的小寫文本值,沒有空格。我沒有明確設置這些。它們是如何生成的以及如何使用 WP 管理員修改這些值?
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

當您將新項目添加到 WordPress 菜單時,它們的類型可能會有所不同。


其中一些項目是帖子或特定類別的直接鏈接。在這種情況下,默認行為是僅使用數字來設置這些帖子的別名(post_name表中的wp_posts)。


但是,當您將自定義鏈接添加到菜單時,Wordpress 會將其 slug 保存為您為鏈接設置的標簽,或者更接近它的任何內容,刪除空格,在必要時創建較長術語的縮寫等等,因此使用文本作為它們的鼻涕蟲。


這就是為什么有些post_names 是數字而另一些是文本的原因:菜單項的來源(帖子鏈接、類別鏈接、自定義鏈接)。


現在,至于更改 a 的 slugs nav_menu_item,我不建議這樣做,因為它們的標簽是在模板中向用戶顯示的內容,而不是它們的 slugs ;在大多數情況下,這些與最終用戶無關。


但是,您可以在模板的文件底部添加functions.php類似于以下內容的代碼:


add_filter('nav_menu_item_args', 'rename-slug' );

function rename-slug( $args ) {

? ? $args['rewrite']['slug'] = 'the_new_slug_here'; // "the_new_slug_here" should be replaced by the new slug value you want

? ? return $args;

}

請注意,slugs 必須是唯一的,并且上述方法可能會導致不可預測的結果,正如該方法自己的原始開發人員所指出的那樣。



查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號