解決策は、あなたが期待するよりも別の場所にあります。
「連絡先」メニューがすべて正常に機能することを期待していませんでした。bug
「 」がメニューのデザインであることを示すためだけに、新しい要素を追加しました。

したがって、問題はドロップダウン メニューのデザインにあります。これを解決するには、css を見て、
#main li li.level-open:after, #main li li.level-open ~ li:after
そして行を削除します:
border-right: 1px dotted #7F7F7F;
ここで、ドット メニューを追加するには、php コードを少し変更する必要があります。CSSではそれができません。少なくとも私のちょっとした調査では、見つけることができませんでした。
新しいクラスを作成します。たとえば、コードで、左側に要素がある場合に.dotted-right-border
左側に印刷されるすべての要素にその css クラスを追加するアルゴリズムを作成します。li
li
アップデート:
わかりました。私は通常、何かが不可能であるとは言いたくないのですが、この場合、私の意見では、純粋な CSS で変更を行うことは不可能です。現在のメニュー項目の作成でもlevel-open
HTML タグに追加されているため、そのあたりの処理が必要になります。この状況には、もう 1 つのアプローチが考えられます。たとえば、次のようになります。
- クラスを変更するには
#main li li.level-open:after, #main li li.level-open ~ li:after
言及された行を変更します:
border-right: 1px dotted #7F7F7F;
行に:
border-right: 1px dotted transparent;
次に、サブメニューの下のすべての新しい項目を設定border-color: #7F7F7F
しますが、サブメニューの左側に一致するかどうかを明確に判断できなかったため、点線の境界線を表示する/表示しない. これは単なるアプローチの例です。アプローチをうまく説明すれば。
それはすべて状況に行き着きます-How can you tell apart if the sub menu has a parent item on the left side in order to show dotted border?
それが純粋なCSSソリューションがないと私が思う理由です。しかし、誰かがもっとよく知っていれば、さらに良いでしょう。