서식이 지정된 표와 같은 메뉴 만들기
-
-
약 2 주 전에 다른 사용자 이름으로이 질문을 게시했습니다."워드 프레스 WYSIWYG 편집기에서 편집 가능한 레이아웃 설정"이라고했습니다.제거했지만 여전히 Google의 캐시에서 찾을 수 있습니다.이것은 거의 복사/붙여 넣기입니다.그러지 마세요.You posted this question under a different username about two weeks ago. It was called "Setting up an editable layout in the wordpress WYSIWYG editor". You removed it but it can still be found in Google's cache. This is a near copy/paste of that one. Please don't do that.
- 0
- 2013-01-02
- s_ha_dum
-
실수로 삭제하고 다시는 할 수 없기 때문에 다시 게시해야했습니다.다시 게시 할 뜻은 아니지만 실제로 찾을 수없는 경우 어떻게 백업해야합니다.I had to re-post it because I accidentally deleted it and it wouldn't let me do it again. I don't mean to re-post but if it can't actually be found I needed to get it back up some how.
- 0
- 2013-01-02
- kia4567
-
이것은 WordPress 질문이 아니라 HTML/CSS 질문입니다.This is an HTML/CSS question, not a WordPress one.
- 0
- 2013-01-02
- s_ha_dum
-
그래도 WYSIWYG 편집기를 구성하는 플러그인을 찾고 있습니다.표준 패딩 : 10px는이 경우 작동하지 않으므로 워드 프레스와 관련이있을 것이라고 생각합니다.I am looking for a plugin that organizes the WYSIWYG editor though. The standard padding: 10px isn't working in this case, so I believe it will have to do with wordpress.
- 0
- 2013-01-02
- kia4567
-
플러그인 권장 사항은 주제에서 벗어났습니다.[faq]를 참조하십시오.Plugin recommendations are off topic. See the [faq].
- 0
- 2013-01-02
- s_ha_dum
-
1 대답
- 투표
-
- 2013-01-03
귀하의 질문이 XY 문제 에 대한 완벽한 예라고 생각합니다. WordPress에서는 게시물 편집기에서 이러한 메뉴를 만들지 않습니다. 메뉴를 사용합니다.
이 시점부터 문제에 대해 생각하기 시작하면 모든 것이 쉽습니다. :)
먼저 테마의
functions.php
에이 목록에 대한 사용자 지정 탐색 메뉴를 등록합니다.add_action( 'wp_loaded', 'wpse_78027_register_menu' ); function wpse_78027_register_menu() { register_nav_menu( 'services', __( 'A list of your services. Edit the description!', 'theme_textdomain' ) ); }
이제
wp-admin/nav-menus.php
에 메뉴 인터페이스가 생겼습니다.그런 다음 링크 텍스트 이상의 것을 표시하려면 맞춤 보행기가 필요합니다. 운이 좋습니다.이 문제는 해결되었습니다 . 매우 간단한 마크 업이 필요하므로…
/** * Custom walker to render the services menu. */ class WPSE_78027_Services_Menu extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth = 0, $args = NULL, $id = 0 ) { $output .= '<li>'; $attributes = ''; if ( ! empty ( $item->url ) ) $attributes .= ' href="' . esc_url( $item->url ) .'"'; $description = empty ( $item->description ) ? '<p>Please add a description!</p>' : wpautop( $item->description ); $title = apply_filters( 'the_title', $item->title, $item->ID ); $item_output = "<a $attributes><h3>$title</h3> <div class='service-description'>$description</div></a>"; // Since $output is called by reference we don't need to return anything. $output .= apply_filters( 'walker_nav_menu_start_el' , $item_output , $item , $depth , $args ); } }
이제 해당 메뉴에 페이지를 추가해야합니다. 설명을 편집하거나 해당 필드를 적용하는 것을 잊지 마십시오. 공개 :
이제 함께 붙입니다. 메뉴를 사용할 페이지 템플릿 PHP 파일을 열고 다음을 추가합니다.
wp_nav_menu( array ( 'container' => FALSE, 'depth' => 1, 'items_wrap' => '<ul id="service-menu">%3$s</ul>', 'theme_location' => 'services', 'walker' => new WPSE_78027_Services_Menu ) );
완벽합니다.
스타일 시트에서 이제 다른 표에 영향을주지 않고이 목록의 스타일을 지정할 수 있습니다.
샘플 코드 :
#service-menu { background: #aaa685; border-collapse: separate; border-spacing: 10px; display: table; width: 100%; } #service-menu, #service-menu li { border: 3px solid #e9e9e9; } #service-menu li { display: table-cell; list-style: none; padding: 10px; width: 25%; } #service-menu, #service-menu a { color: #fff; } #service-menu h3 { font: bold 1.5em/1 serif; margin: 0 0 .5em; text-transform: uppercase; } .service-description { font: .9em/1.4 sans-serif; }
결과 :
이 답변을 작성하는 것은 코드를 작성하는 것보다 더 많은 시간이 걸렸습니다. :)
I think your question is a perfect example for the XY Problem. In WordPress you do not create such a menu in a post editor. You use a menu.
Once you start thinking about your problem from this point, everything is easy. :)
First register a custom navigation menu for this list in your theme’s
functions.php
:add_action( 'wp_loaded', 'wpse_78027_register_menu' ); function wpse_78027_register_menu() { register_nav_menu( 'services', __( 'A list of your services. Edit the description!', 'theme_textdomain' ) ); }
Now you get an interface for the menu in
wp-admin/nav-menus.php
.Then you need a custom walker to show more than just the link text. You are lucky, this problem has been solved too. You need very simple markup, so …
/** * Custom walker to render the services menu. */ class WPSE_78027_Services_Menu extends Walker_Nav_Menu { public function start_el( &$output, $item, $depth = 0, $args = NULL, $id = 0 ) { $output .= '<li>'; $attributes = ''; if ( ! empty ( $item->url ) ) $attributes .= ' href="' . esc_url( $item->url ) .'"'; $description = empty ( $item->description ) ? '<p>Please add a description!</p>' : wpautop( $item->description ); $title = apply_filters( 'the_title', $item->title, $item->ID ); $item_output = "<a $attributes><h3>$title</h3> <div class='service-description'>$description</div></a>"; // Since $output is called by reference we don't need to return anything. $output .= apply_filters( 'walker_nav_menu_start_el' , $item_output , $item , $depth , $args ); } }
Now you have to add the pages to that menu. Do not forget to edit the description, or force that field to be visible:
And now stick it together. Open the page template PHP file where you want to use the menu and add:
wp_nav_menu( array ( 'container' => FALSE, 'depth' => 1, 'items_wrap' => '<ul id="service-menu">%3$s</ul>', 'theme_location' => 'services', 'walker' => new WPSE_78027_Services_Menu ) );
Perfect.
In your stylesheet you can style this list now without affecting any other table.
Sample code:
#service-menu { background: #aaa685; border-collapse: separate; border-spacing: 10px; display: table; width: 100%; } #service-menu, #service-menu li { border: 3px solid #e9e9e9; } #service-menu li { display: table-cell; list-style: none; padding: 10px; width: 25%; } #service-menu, #service-menu a { color: #fff; } #service-menu h3 { font: bold 1.5em/1 serif; margin: 0 0 .5em; text-transform: uppercase; } .service-description { font: .9em/1.4 sans-serif; }
Result:
Writing this answer took more time than writing the code. :)
-
같은 이름을 가진 4 개의 링크는 스크린 리더 사용자에게 매우 짜증나고 전체 상자가 링크이기 때문에 _Read More_를 삭제했습니다.I dropped the _Read More_, because four links with the same name are super annoying for screen reader users, and the whole box is a link.
- 0
- 2013-01-03
- fuxia
-
당신의 놀라운 토초!오늘 밤이 작업을 할게요,만약 제가 당신에게 포인트를 줄 수 있다면 (당신이 그것들이 필요하지 않습니다. 하하) 당신이이 긴 답변을 쓰기 위해 시간을 내 주셔서 얼마나 감사하는지 보여 드리는 것입니다.나를 위해.나는 그 XY 문제를 조사 할 것이므로 다음에 올바른 질문을 할 것입니다.감사합니다!Your amazing toscho! I'll be working on this tonight, if I could give you points I would (not that you need them. Haha) but it would be to show you how much I appreciate you taking the time out of your day to write this long answer for me. I'll look into that XY problem so I be sure to ask the correct question for next time. THANKYOU!
- 1
- 2013-01-03
- kia4567
방금 사이트를 설치하고 몇 주 전에 몇 가지 사항을 추가했습니다. 하지만 제 친구는 워드 프레스 위에 콘텐츠를 더 쉽게 배치 할 수있는 방법이 있어야합니다. 나는 그것으로도 어려움을 겪고 있고 그것의 절반을 코딩하고 있습니다 (또는 적어도 스타일을 추가하고 CSS를 보는 것 등)
특히 서비스 (이 테스트 페이지에있는 유일한 서비스)와 배치 방법을 살펴보고 있습니다. 그것들은 내가 사용하는 방법을 잊어 버린 것 같은 추악한 테이블에 있지만 어떻게 이와 같은 콘텐츠를 배치해야합니까? 내 삶을 더 쉽게 만들어주는 플러그인이 있습니까 (프리미엄?-유형 또는보기에 대해 들어 봤는데 좋은 플러그인인가요?)
그러나 지금까지이 작업을 수행 했으므로 해당 셀 내부에 패딩을 적용하는 가장 좋은 방법은 무엇입니까? 거의 모든 것을 시도했지만 작동하지 않거나 페이지의 모든 테이블에 영향을줍니다 (원본 페이지는 ) 여기 ).
여기에 잘못된 테이블 코드를 추가했습니다.보고 싶으시면 ..