Crea un menu formattato simile a una tabella
-
-
Haipubblicato questa domanda con unnome utente diverso circa due settimanefa.Si chiamava "Impostazione di un layoutmodificabilenell'editor WYSIWYG di wordpress".L'hai rimossomapuò ancoraesseretrovatonella cache di Google.Questa è una copia/incolla quasi di quella.Perfavore,nonfarlo.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
-
Ho dovuto ripubblicarloperché l'ho cancellato accidentalmentee nonme lopermetteva difarlo dinuovo.Nonintendo ripubblicare,ma senonpuòessereeffettivamentetrovato,dovevo riaverloin qualchemodo.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
-
Questa è una domanda HTML/CSS,non WordPress.This is an HTML/CSS question, not a WordPress one.
- 0
- 2013-01-02
- s_ha_dum
-
Sto cercando unplugin che organizzi l'editor WYSIWYG.Ilpadding standard: 10pxnonfunzionain questo caso,quindi credo che avrà a chefare con wordpress.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
-
I consigli suiplug-in sonofuoritema.Vedi le [faq].Plugin recommendations are off topic. See the [faq].
- 0
- 2013-01-02
- s_ha_dum
-
1 risposta
- voti
-
- 2013-01-03
Penso che latua domanda sia unesempioperfettoperil problema XY . In WordPressnon crei untalemenuin unposteditor. Utilizzi unmenu.
Una volta cheinizi apensare altuoproblema da questopunto,tutto èfacile. :)
Prima registra unmenu dinavigazionepersonalizzatoper questoelenconel
functions.php
deltuotema: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' ) ); }
Ora ottieni un'interfacciaperilmenuin
wp-admin/nav-menus.php
.Quindi haibisogno di un walkerpersonalizzatopermostrarepiù del solotesto del collegamento. Seifortunato,questoproblema è stato risolto anche . Haibisogno di unmarkupmolto semplice,quindi ...
/** * 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 ); } }
Ora devi aggiungere lepagine a quelmenu. Non dimenticare dimodificare la descrizione o forzare quel campoessere visibile :
E oramettiliinsieme. Apriilfile PHP delmodello dipaginain cui desideri utilizzareilmenue aggiungi:
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 ) );
Perfetto.
Neltuofoglio di stilepuoi applicare uno stile a questoelenco ora senzainfluire sunessun'altratabella.
Codice diesempio:
#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; }
Risultato:
La scrittura di questa risposta ha richiestopiùtempo rispetto alla scrittura del codice. :)
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. :)
-
Ho abbandonato _Read More_,perché quattro link con lo stessonome sonomoltofastidiosipergli utenti di screen readere l'intera scatola è un link.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
-
Iltuofantasticotoscho!Ci lavorerò stasera,sepotessi darti deipunti lofarei (non chetune abbiabisogno. Haha)ma sarebbepermostrarti quanto apprezzo chetu abbia dedicato deltempo allatuagiornataper scrivere questa lunga rispostaperme.Esamineròilproblema XY cosìmi assicurerò diporre la domanda correttaper laprossima volta.GRAZIE!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
Ho appena creatoil sito unpaio di settimanefae ho aggiunto alcune altre coseper amicomio,tuttavia,ci deveessere unmodopiù sempliceper disporrei contenuti su wordpress. Hopersino difficoltà conessoe ne sto codificandometà (o almeno aggiungendo stili,guardando CSS,ecc.)
Stoesaminando specificamentei servizi (praticamente l'unica cosain questapagina diprova)e come disporli. Sonoin bruttetabelle di cuipenso di averpersino dimenticato come usare,main quale altromodo dovrei disporre contenuti come questo? Esiste unplug-in chemi semplifica la vita (Premium? Ho sentitoparlare ditipi o visualizzazioni,è unbuonplug-in?).
Tuttavia,poiché ho lavorato su questofinora,qual èilmodomiglioreper ottenereil riempimento all'interno di quelle celle? Hoprovato quasituttomanonfunziona oinfluisce su TUTTE letabelle dellapagina (lapagina originale dove sarà che è qui ).
Ho aggiunto quiil codice dellatabellaingarbugliata,vuoiguardarlo ..