title: Jakich konkretnych uprawnień do baz danych potrzebuje WordPress?

text: Chcę utworzyć nowego użytkownika bazy danych dla mojej instalacji WordPress. Zwykle na lokalnym hoście mogę po prostu użyć roota, ale dobrą praktyką jest używanie użytkownika z jak najmniejszymi uprawnieniami. Jakie są te prawa? Zastanawiałem się, czy WordPress musi mieć zainstalowane wtyczki itp. Może to wymagać również uprawnień `CREATE` i `DROP`. ![tekst alternatywny](http://i.stack.imgur.com/XB7wW.jpg)


title: Nazwy list taksonomii z małymi literami

text: Staram się tworzyć niestandardowe nazwy taksonomii, które będą wyświetlane małymi literami, ale z jakiegoś powodu to nie działa i pokazuje wszystkie tytuły taksonomii z dużymi literami. Oto kod, którego używam: $genre = strtolower( strip_tags( get_the_term_list( $wp_query->post->ID, 'genre', '', ', ', '') ) ); if ( is_singular( array( 'dvd','vhs' )) )) { echo '<meta name="description" content="'. get_the_title() .' to '. $gatunek .'." />'; } Z góry dziękuję wszystkim :) **UPDATE** To jest cały mój kod, który umieściłem w functions.php function test_seo() { $terms = get_the_terms( $post->ID, 'genre' ); // var_dump($terms); $tnames = tablica(); if (!is_wp_error($terms) && !empty($terms)) { foreach ($terms as $t) { $tnames[] = strtolower($t->name); } $gatunek = implode(', ',$tnames); } // var_dump($terms); if ( is_home() || is_front_page() || is_search() || is_tag() || is_tax() || is_page() ) { echo '<meta name="description" content="Opis testu" />' ; } elseif ( is_singular( array( 'dvd', 'vhs' ) )) { echo '<meta name="description" content="'. get_the_title() .' to '. $gatunek .'." />'; } } add_action ( 'wp_head', 'test_seo');


title: Kod widżetu JavaScript (ajax)

text: Mam taki widżet: class test_widget extends WP_Widget{ function test_widget(){ $widget_ops = array('description' => 'widget testowy'); $this->WP_Widget(false, 'Test', $widget_ops); add_action('init', array(&$this, 'ajax'), 99); // uwzględnij w jQuery(document).ready() add_action('jquery_init', array(&$this, 'js')); } function js(){ // pobierz ustawienia ze wszystkich instancji widżetu $widget_settings = get_option($this->option_name); // zidentyfikuj tę instancję foreach($widget_settings jako $instance => $options): $id = $this->id_base.'-'.$instance; $block_id = 'instancja-'.$id; if (is_active_widget(false, $id, $this->id_base)): ?> $("#<?php echo $block_id; ?> .button").click(function(){ $.ajax({ type: "GET", url: "<?php echo get_bloginfo('url'); ?>", data: { id: "<?php echo $block_id; ?>", some_data: "<?php echo $opcje[' some_widget_option']; ?>", my_widget_ajax: 1 }, sukces: function(odpowiedź){ alert(odpowiedź); // tak } }); return false; }); <?php endif; na każdym kroku; } function ajax(){ if(isset($_GET['my_widget_ajax'])): $some_data = esc_attr($_GET['some_data']); echo $jakieś_dane; Wyjście(); endif; } function widget($args, $instance){ // interfejs widżetu } function update($new_instance, $old_instance){ // aktualizacja formularza return $instance; } function form($instance){ // formularz } } Zasadniczo jest w nim przycisk, który wywołuje żądanie ajax, które pobiera pewne informacje... Jak widać jedynym sposobem dodania funkcji ajax było podpięcie jej do tag init i js do funkcji motywu, która obsługuje javascript. Problem polega na tym, że działa to tylko wtedy, gdy widżet jest obecny na pasku bocznym. I potrzebuję go również do działania, gdy wywołuję ten widżet za pomocą funkcji the_widget(), na przykład. wewnątrz strony. Nie wiem, jak mogę pobrać opcje widżetów, aby przekazać je w kodzie javascript... Jakieś pomysły?


title: Jak zainstalować dwie wersje WordPressa na 1 serwerze?

text: Instaluję na komputerze lokalnym przy użyciu `localhost`. Mam „uczącą się” wersję WordPress @ `http://localhost/wordpress` i chcę stworzyć kolejną wersję WordPressa (@ `http://localhost/jiewmeng`) Chcę przetestować i być może przenieść się do prawdziwego serwer później. Odkryłem, że kiedy wyodrębniłem nową kopię WordPressa do `localhost/jiewmeng`, prawdopodobnie wykrywa on bazę danych WordPress i używa jej? Wszystkie dane, które otrzymuję, pochodzą z „uczącej się” wersji WordPressa. Jak to ustawić, aby 2 instalacje WordPressa były oddzielne?


title: Czy mogę mieć zarówno front-page.php, jak i index.php?

text: Stworzyłem niestandardowy plik front-page.php, który zawiera „pętlę” i działa świetnie. Chciałbym również mieć osobną stronę, która jest zwykłą stroną starych postów, którą otrzymujesz z index.php. Jak sprawić, by strona odwoływała się do index.php? Próbowałem przejść do Wygląd -> Dostosuj i ustawić statyczną stronę główną, ale potem "pętla" na mojej stronie głównej przestaje działać, więc to nie jest rozwiązanie.


title: Rozwiń menu lokalizacji wybierz widżet

text:
Ten kod wybiera menu według nazw, ale chcę to zrobić, wybierając zarejestrowaną lokalizację menu. Poniżej znajduje się mój dokładny kod. class MyWidget extends WP_Widget { function __construct() { $widget_ops = array( 'description' => __('Użyj tego widżetu, aby dodać jedno z własnych menu jako widżet listy linków.') ); parent::__construct( 'custom_menu_widget-1', __('Moje imię'), $widget_ops ); } widżet funkcji($args, $instance) { // Pobierz menu $nav_menu = ! pusty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu']): false; if (!$nav_menu) return; $instance['title'] = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); echo $args['before_widget']; if ( !empty($instance['title']) ) echo $args['before_title'] . $instancja['tytuł'] . $args['after_title']; wp_nav_menu( array( 'menu' => $nav_menu) ); echo $args['after_widget']; } aktualizacja funkcji( $nowa_instancja, $stara_instancja ) { $instance['title'] = strip_tags( stripslashes($new_instance['title']) ); $instance['nav_menu'] = (int) $nowa_instancja['nav_menu']; zwróć $instancję; } function form( $instance ) { $title = isset( $instance['title'] ) ? $instance['tytuł'] : ''; $nav_menu = isset( $instancja['nav_menu']) ? $instance['nav_menu'] : ''; // Pobierz menu $menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) ); // Jeśli nie ma menu, poproś użytkownika, aby poszedł i utworzył jakieś menu. if ( !$menus ) { echo '
'. sprintf( __('Nie utworzono jeszcze żadnych menu. Utwórz niektóre.'), admin_url('nav-menus.php') ).'
'; zwrócić; } ?>
 <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:') ?> <input type= "text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo $title; ?>" />

 <label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e ('Wybierz menu:'); ?> <select id="<?php echo $this->get_field_id('nav_menu'); ?>" name="<?php echo $this->get_field_name('nav_menu'); ?>" > <?php foreach ( $menus jako $menu ) { $selected = $nav_menu == $menu->term_id ? ' selected="wybrane"' : ''; echo '<opcja'. $wybrano .' value="'. $menu->term_id .'">'. $menu->nazwa .'</option>'; } ?> </select>
 <?php } } add_action( 'widgets_init', 'myplugin_register_widgets' ); function myplugin_register_widgets() { register_widget( 'MójWidget' ); }


title: Fragment Wordpress z formatowaniem i dopuszczaniem wybranych tagów

text: Przejrzałem twoją odpowiedź w poście Problem z włączeniem formatowania we fragmentach w Wordpress. Działa dobrze i zamyka tagi, dzięki czemu tag nie przenosi się na inne posty. Ale muszę wyłączyć wyświetlanie obrazów we fragmentach. Jak mogę to zrobić?


title: Permalink, łączy stronę ze stroną główną

text: Więc używam ładnej struktury linku bezpośredniego „post-name”. Mam stronę o nazwie The Trust, której elementem jest zaufanie. Ale kiedy wchodzę na www.mydomain.com/the-trust, wyświetla się strona główna. URL pozostaje ten sam, ale wyświetla stronę index.php. Kiedyś pokazywał mi stronę archive.php, ale usunąłem ją z moich plików motywów, więc teraz pokazuje mi stronę indeksu. Jak mogę to naprawić? * Jeśli zmienię slug na the-trusts, strona wyświetli się dobrze, jednak chcę, aby slug pozostał jako trust. * Kiedyś miałem plik php w moim folderze motywu o nazwie thetrust.php (teraz go usunąłem), plik szablonu przypisany do strony Trust nazywa się trust-articles.php Z góry dziękuję. EDYCJA: Strona działa z permalinkami Ugly, więc www.domain.com/?page_id=174


title: get_footer nie działa szablon standardowy

text:
Jestem nowy w WordPressie. Stopka nie pojawi się w moim szablonie. Szukałem online od godzin. Oto mój plik footer.php: <?php /** * Szablon do wyświetlania stopki. * * Zawiera zamknięcie id=main div i całą zawartość * po. Wywołuje sidebar-footer.php dla dolnych widżetów. * * @package WordPress * @subpackage Boilerplate * @since Boilerplate 1.0 */ ?>
  <a href="<?php echo home_url( '/' ) ?>" title="<?php echo esc_attr( get_bloginfo( 'nazwa', 'wyświetlanie') ); ?>" rel="home"><?php bloginfo( 'nazwa' ); ?> Dumy wspierane przez WordPress   <?php /* Zawsze miej wp_footer() tuż przed zamykającym tagiem  * twojego theme, albo złamiesz wiele wtyczek, które * zazwyczaj używają tego zaczepu do odwoływania się do plików JavaScript. */ wp_footer("nowy"); ?>   oto mój plik loop.php (nie jestem pewien, czy będziesz tego potrzebować): <?php /** * Pętla wyświetlająca posty. * * Pętla wyświetla posty i treść posta. Zobacz * http://codex.wordpress.org/The_Loop, aby to zrozumieć i * http://codex.wordpress.org/Template_Tags, aby * zrozumieć użyte w nim tagi. * * Można to zmienić w motywach potomnych za pomocą loop.php lub * loop-template.php, gdzie 'template' jest kontekstem pętli * żądanym przez szablon. Na przykład, loop-index.php * zostanie użyty, jeśli istnieje i prosimy o pętlę za pomocą: * get_template_part( 'loop', 'index' ); * * @package WordPress * @subpackage Boilerplate * @since Boilerplate 1.0 */ ?> <?php /* Display navigatina następnych/poprzednich stronach, jeśli dotyczy */ ?> <?php if ( $wp_query->max_num_pages > 1 ) : ?>
<?php next_posts_link( __( '← Starsze wpisy', 'boilerplate' ) ); ?>

<?php previous_posts_link( __( 'Nowsze posty →', 'boilerplate' ) ); ?>
  <?php endif; ?> <?php /* Jeśli nie ma żadnych postów do wyświetlenia, np. pusta strona archiwum */ ?> <?php if ( ! have_posts() ) : ?>

<?php _e( 'Nie znaleziono', 'boilerplate' ); ?>

<?php _e( 'Przeprosiny, ale nie znaleziono żadnych wyników dla żądanego archiwum. Być może wyszukiwanie pomoże znaleźć powiązany post.', 'boilerplate ' ); ?>
 <?php get_search_form(); ?>

 <?php endif; ?> <?php /* Uruchom pętlę. * * W Twenty Ten używamy tej samej pętli w wielu kontekstach. * Jest podzielony na trzy główne części: kiedy wyświetlamy * posty z kategorii galerii, kiedy wyświetlamy * posty z kategorii boksów i wreszcie wszystkie inne posty. * * Dodatkowo czasami sprawdzamy, czy znajdujemy się na * stronie archiwum, stronie wyszukiwania itp., co pozwala na niewielkie różnice * w pętli w każdym szablonie bez faktycznego duplikowania * reszty udostępnianej pętli. * * Bez dalszych ceregieli, pętla: */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php /* Jak wyświetlić posty w kategorii Galeria. */ ?> <?php if ( in_category( _x('gallery', 'galeria kategoria ślimak', 'boilerplate') ) ) ) : ?> <artykuł id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'Boilerplate' ), the_title_attribute( 'echo=0' ) ); ?>" rel="zakładka"><?php the_title(); ?>

 <?php boilerplate_posted_on(); ?>
< !-- .entry-meta -->
 <?php if ( post_password_required() ) : ?> <?php the_content(); ?> <?php else : ?> <? php $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' = > 'ASC', 'numberposts' => 999) ); if ( $images ) : $total_images = count( $images ); $image = array_shift( $images ); $image_img_tag = wp_get_attachment_image( $image->ID, 'miniaturka'); ?>
 <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?>

<?php printf( __( 'Ta galeria zawiera zdjęcia %2$s .', 'boilerplate' ), 'href="' .get_permalink() .'" title="' .sprintf( esc_attr__( 'Permalink do %s', 'boilerplate' ), the_title_attribute( 'echo= 0') ).'" rel="zakładka"', $całkowite_obrazy); ?>
 <?php endif; ?> <?php the_fragment(); ?> <?php endif; ?>
  <a href="<?php echo get_term_link( _x('gallery', 'galeria kategoria ślimak', 'boilerplate'), 'category' ); ?>" title="<?php esc_attr_e( 'Wyświetl posty w kategorii Galeria', 'boilerplate' ); ?>"><?php _e( 'Więcej galerii', 'boilerplate' ); ?> | <?php comments_popup_link( __( 'Zostaw komentarz', 'boilerplate' ), __( '1 komentarz' , 'boilerplate' ), __( '% komentarzy', 'boilerplate' ) ); ?> <?php edit_post_link( __( 'Edit', 'boilerplate' ), '|', '' ); ?>
 <?php /* Jak wyświetlić posty w kategorii stron na bok */ ?> <?php elseif ( in_category( _x('na bok', 'na bok kategoria ślimak', 'boilerplate')) ) ) : ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php if ( is_archive() || is_search() ) : // Wyświetl fragmenty archiwów i wyszukiwania. ?>
 < ?php the_excerpt(); ?>
 <?php else : ?>
 <?php the_content( __( 'Kontynuuj czytanie →', 'kocioł' ) ); ?>
 <?php endif; ?>  <?php boilerplate_posted_on(); ?> | <?php comments_popup_link( __( 'Zostaw komentarz', 'komentarz' ), __( '1 komentarz', 'komentarz' ), __( '% komentarzy', 'komentarz' ) ); ?> <?php edit_post_link( __( 'Edytuj', 'Boilerplate' ), '| ', '' ); ?>
 <?php /* Jak wyświetlić wszystkie inne posty. */ ?> <?php else : ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'Boilerplate' ), the_title_attribute( 'echo=0' ) ); ?>" rel="zakładka"><?php the_title(); ?>

  <?php nazwa_kotła (); ?>  ·  <?php boilerplate_posted_on(); ?>

<?php the_subtitle(); ?>

 <?php if ( is_archive() || is_search() ) : // Wyświetlaj tylko fragmenty archiwów i wyszukiwania ?>
 <?php # the_excerpt(); ?>
 <?php else : ?>
 <?php #the_content( __( 'Kontynuuj czytanie →', 'boilerplate' ) ); ?> <?php #wp_link_pages( array( ' przed' => '
' . __( 'Strony:', 'boilerplate' ), 'po' => '
' ) ); ?>
< !-- .entry-content --> <?php endif; ?>
 <?php comments_template( '', true ); ?> <?php endif; // To była instrukcja if, która rozbiła pętlę na trzy części w oparciu o kategorie. ?> <?php koniec; // Zakończ pętlę. Uff. ?> <?php /* Wyświetl nawigację do następnych/poprzednich stron, jeśli ma to zastosowanie */ ?> <?php if ( $wp_query->max_num_pages > 1 ) : ?>  <?php next_posts_link( __( '← Starsze posty', 'Boilerplate' ) ); ?> <?php poprzednie_posty_link( __( 'Nowsze posty →', 'Boilerplate' ) ); ?>  <?php endif; ?> oto mój plik page.php (znowu, nie jestem pewien, czy tego potrzebujesz): <?php /** * Szablon do wyświetlania wszystkich stron. * * To jest szablon, który domyślnie wyświetla wszystkie strony. * Należy pamiętać, że jest to konstrukcja stron wordpress * i że inne „strony” w Twojej witrynie wordpress będą używać * innego szablonu. * * @package WordPress * @subpackage Boilerplate * @since Boilerplate 1.0 */ get_header(); ?> <?php if ( have_posts() ) while ( have_posts() ): the_post(); ?> <id artykułu="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php if ( is_front_page() ) { ?>
<?php the_title(); ?>
 <?php } else { ?>
<?php the_title(); ?>
 <?php } ?>
 <?php the_content(); ?> <?php wp_link_pages( array( 'przed' => '' . __( 'Strony:', 'boilerplate' ), 'po' => '') ); ?> <?php edit_post_link( __( 'Edytuj', 'Boilerplate' ), '', '' ); ?>

 <?php comments_template( '', true ); ?> <?php endwhile; ?> <?php get_sidebar(); ?> <?php get_footer(); ?>


title: Komunikaty o błędach w formularzu komentarzy niestandardowych

text: Podczas przesyłania komentarza z nieprawidłowymi danymi wyświetlana jest strona błędu, która nie jest zgodna z szablonem motywu witryny. Próbowałem to zmienić, próbując wyświetlić błędy na tej samej stronie. Jestem bardzo ciekawy, czy mogę to zrobić, nie używając JQuery ani JS do sprawdzania błędów. Chcę to zrobić za pomocą Globals lub Sessions. Próbowałem używać globals bez powodzenia (do tej pory nadal nie wiem, co robię źle) Czy ktoś próbował to zrobić wcześniej. Wszelkie sugestie lub rozwiązania są mile widziane.


title: Używanie meta zapytania WP do wyświetlania niestandardowych typów postów według daty rozpoczęcia i zakończenia

text: Mam niestandardowy typ wpisu o nazwie „wydarzenia”, mam stronę, która wyświetla wydarzenia według każdego miesiąca. Każde zdarzenie ma niestandardowe pole start_date i finish_date (przy użyciu wtyczki Advanced Custom Fields), które przechowuje datę w formacie rrmmdd. Jeśli wydarzenie obejmuje dwa różne miesiące, pojawia się tylko w miesiącu, w którym przypada data rozpoczęcia. Utknąłem również w tym, jak to pokazać w miesiącu daty zakończenia. Na przykład, jeśli mam wydarzenie z datą rozpoczęcia 19.03.2014 i datą zakończenia 19.04.2013, powinno pojawić się zarówno w marcu, jak i kwietniu. Używam poniższego: // Pobierz wybrany miesiąc do wyświetlenia z adresu URL $events_month = sanitize_text_field($_GET["miesiąc"]); $events_year = sanitize_text_field($_GET["rok"]); // Konwertuj wybrany miesiąc do wyświetlania na znacznik czasu $ts = strtotime("$events_month $events_year"); // Utwórz wybrane daty zakończenia początku miesiąca do użycia w zapytaniu $month_start_date = date('Ym01', $ts); $month_end_date = data('Ymt', $ts); $args = array( 'post_type' => 'events', 'posts_per_page' => 50, 'order' => 'ASC', 'orderby' => 'meta_value_num', 'meta_key' => 'data_początkowa', 'meta_query ' => array( array( 'key' => 'data_początkowa', 'wartość' => array($miesiąc_data_początkowa, $data_miesiąca_końcowa), 'type' => 'numeric', 'compare' => 'BETWEEN' )) ) ; $wydarzenia = nowe WP_Query($args);


title: Jak zaimportować multimedia z folderu, a nie ze starej witryny?

text: Nie mam już dostępu do mojego starego bloga. Mam jednak wszystkie pliki (folder eksportu i przesyłania Wordpress). Teraz... próbuję zaimportować wszystkie te rzeczy do mojego nowego bloga i niestety nie mogę przesłać moich plików multimedialnych. Istnieje opcja "importowania i pobierania", ale próbuje pobrać pliki z mojego starego serwera (już niedostępna). Czy istnieje sposób na przekierowanie „importera” w celu pobrania plików z mojego komputera lokalnego zamiast ze starej witryny internetowej? Proszę pomóż!


title: Najskuteczniejszy sposób, aby mieć 1 szablon dla rodzica, 1 szablon dla kategorii podrzędnych?

text: Oto konfiguracja, której chcę: Dla category-15.php: Kategoria potomna A (lista wszystkich postów wewnątrz) Post A od kategorii potomnej A Post B od kategorii potomnej A Post C od kategorii potomnej A Kategoria potomna B (lista wszystkich postów wewnątrz) Post A z kategorii potomnej B Post B z kategorii potomnej B I dla WSZYSTKICH kategorii potomnych w kategorii 15 chcę, aby wyświetlały: Tytuł kategorii potomnej (podzielony na strony z 2 postami każdy) Post A Post B Jak rozumiem, WordPress nie mieć czegoś takiego: category-15.php (dla rodzica) category-15-child.php (dla dzieci) W tej chwili mam zapytanie w mojej kategorii-15, które sprawdza, czy kategoria ma dzieci (jeśli tak, wyświetl kod dla rodzica; jeśli nie, wyświetl kod dla dzieci). Czy jest na to czystszy i szybszy sposób?


title: Wyodrębnij .zip, przesyłając plik w wordpressie

text: Przesyłam folder ZIP, który zapisuje się jako zip, ale chcę go zapisać, rozpakowując. Gdzie mogę edytować plik? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/HlpXD.png)


title: Przetwarzanie widżetu stopki Wordpress

text: Zrobiłem pasek boczny w wordpressie i mam w nim widżety, chcę je przetwarzać jeden po drugim, abym mógł ustawić ich lokalizacje w motywie według mnie. **Przykład:** jeśli mam widżet 3 na pasku bocznym w stopce, znajdują się one w jednym rzędzie, a jeśli pojawił się czwarty, przechodzi do następnego, ale na środku. Po drugie, jeśli na pasku bocznym znajduje się tylko jeden widżet, znajduje się on w środku pierwszego rzędu. Używam bootstrap z LESS, Jak mogę to zrobić.


title: Motyw potomny nagle przestał działać

text:
Pracowałem nad stroną internetową z motywem dwadzieścia dwanaście. Modyfikowałem footer.php i kiedy odświeżyłem moją stronę, zauważyłem, że wszystkie dodatkowe css, które dodałem w moim motywie potomnym, nie działają. Cofnąłem zmiany, które wprowadziłem w footer.php, ale nic w moim podrzędnym css motywu nie jest stosowane do mojej witryny. Wszelkie sugestie będą mile widziane **Edytuj:** Oto kod — nie mam tego, co napisałem pierwotnie, ponieważ była to tylko niewielka zmiana, a po prostu napisałem nad nią. Wyczyściłem także pamięć podręczną, aby upewnić się, że nie widzę starej wersji. <?php /** * Szablon do wyświetlania stopki * * Zawiera zawartość stopki oraz zamknięcie elementów #main i #page div. * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?>

 <?php do_action( 'dwadzieścia dwanaście_kredytów' ); ?> <a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentytwelve' ) ); ?>" title="<?php esc_attr_e( 'Semantyczna platforma publikowania osobistego', 'dwadzieścia dwanaście' ); ?>"><?php printf( __( 'Dumnie wspierane przez %s', 'dwadzieścia dwanaście' ), 'WordPress' ); ?>

 <?php wp_stopka(); ?>


title: Jak opublikować post z pustym tytułem i pustą treścią?

text: Dlaczego to robię, możesz zapytać? Zajmuję się tworzeniem strony internetowej dla firmy z portfolio, w którym elementami galerii są posty. Te posty są wypełniane przez niestandardowe pola i wybory kategorii, nic więcej. Dla każdego przedmiotu może istnieć tytuł/treść lub nie, zależy to od danego przedmiotu i zależy to wyłącznie od klienta. To oni zapełniają ich portfolio, a nie ja. Po prostu buduję system, aby mogli łatwo publikować to, co chcą. Zdaję sobie sprawę, że WordPress może mieć pewne problemy z postami bez tytułu, dlatego zaimplementowałem (w `functions.php`) funkcję automatycznego ustawiania tytułu dla posta, jeśli żaden nie został przypisany. Ten auto tytuł posta nigdy nie pojawi się na stronie, ponieważ szukam go i pomijam, jeśli tam jest, w przeciwnym razie pokaż przypisany tytuł do posta. Funkcja do tego to: add_action('publish_post', 'insert_automatic_post_title', 10, 2); function insert_automatic_post_title($postID, $post) { if($post->post_title === '') { $post->post_title = '['.get_the_date('d/m/Y @ H:i:s') ']'; if($post->post_name == $postID) { $post->post_name = sanitize_title($post->post_title); } $ wynik = wp_update_post ($ post); } } Jedyny problem polega na tym, że jeśli tytuł jest pusty i zawartość jest również pusta (z pewnymi niestandardowymi polami już zdefiniowanymi), ta funkcja powyżej nigdy nie zostanie wywołana i post nie zostanie opublikowany, pozostanie w stanie wersji roboczej. Jedynym rozwiązaniem, o którym mogłem pomyśleć, było utworzenie krótkiego kodu, takiego jak `[empty_post]` i poproszenie klienta o ustawienie tego w treści posta, gdy nie chce przypisywać tytułu/treści do postu. Ten krótki kod może wypisać coś w rodzaju `<!-- PUSTY POST -->` lub nawet nic. Fakt, że coś jest w treści posta, wywołanie powyższej funkcji, ustawienie automatycznego tytułu i opublikowanie posta. Ale szukam sposobu, w którym klient nie musi mieć więcej kłopotów (np. wstawianie shortcode do treści posta) niż to, co jest potrzebne, chcę, aby było to tak proste, jak to tylko możliwe. Oczywiście bez grzebania w kodzie źródłowym WordPressa. Czy ktoś może wymyślić inny sposób z działaniami/filtrami?


title: Dodaj zmienną w functions.php i wywołaj ją w single.php

text:
Jestem nowy w PHP i buduję motyw WordPress. Chciałbym dodać zmienną w functions.php i używać jej w single.php jako instrukcji if. Obecnie mój single.php ma następujący kod - <?php $prevPost = get_previous_post(); $prevthumbnail = get_the_post_thumbnail($prevPost->ID, 'utrzymanie-kciuk'); if ( $prevPost ) : ?> <?php previous_post_link('%link',"$prevthumbnail"); ?>
<?php previous_post_link('%link'); ?>

<?php fragment echa(25); ?>
 <?php endif; ?> Chciałbym mieć zdefiniowane zmienne `$prevPost` i `$prevthumbnail` w functions.php i chciałbym ich użyć w instrukcji "if" w single.php. PS - Jestem nowicjuszem w kodowaniu i byłbym wdzięczny za udzielenie mi szczegółowej odpowiedzi. Dziękuję Ci...


title: Problemy z DBDelta z obcym kluczem?

text: Mam następujący sql, którego używam z dbDelta: $sql .= "CREATE TABLE" . $tabela_lokacji . " ( identyfikator_lokalizacji MEDIUMINT(9) NOT NULL AUTO_INCREMENT, nazwa VARCHAR (100), nr_ulicy VARCHAR (5), nazwa_ulicy VARCHAR (75), miasto VARCHAR (75), stan_prowincji VARCHAR (75), kod_pocztowy VARCHAR(10), kraj VARCHAR ( 75), post_page_url VARCHAR(300), icon_id MEDIUMINT(9), PRIMARY KEY (location_id), OBCY KLUCZ (icon_id) REFERENCJE ".$wpdb->prefix."nc_icon (icon_id) );"; Otrzymuję błąd: Błąd bazy danych WordPress: [Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada Twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu 'KLUCZ OBCEJ (icon_id) REFERENCES wp_nc_icon (icon_id)' w wierszu 1] ZMIEŃ TABELĘ wp_nc_location DODAJ KOLUMNĘ OBCY KLUCZ (icon_id) REFERENCJE wp_nc_id) Wygląda na to, że (icon) jak zamiast pisać: ALTER TABLE wp_nc_location DODAJ OBCY KLUCZ OGRANICZENIA (icon_id) REFERENCES wp_nc_icon (icon_id) DBDelta próbuje napisać: ALTER TABLE wp_nc_location DODAJ KOLUMNĘ OBCY KLUCZ (icon_id) REFERENCJE wp_nc_icon (icon_id) Jednak wygląda na to ikona (icon) ( jest tworzony, czego potrzebuję. Właściwie to dziwne, ponieważ icon_id jest również kluczem obcym (kiedy patrzę na strukturę tabeli). Chcę tylko pozbyć się błędu „nieoczekiwanego wyjścia”. Czy istnieje sposób, aby DBDelta akceptowała klucz obcy?


title: Twórz i edytuj posty z poziomu interfejsu

text: Stworzyłem bardzo fajny niestandardowy typ postu za pomocą fantastycznej wtyczki ACF, ale teraz potrzebuję sposobu, aby użytkownicy mogli przesyłać posty z interfejsu. Wtyczki takie jak formularze Gravity i Front-end Editor są ładne, ale nie działają w tym zbyt dobrze. Czy istnieje sposób, aby ten sam formularz edycji zaplecza pojawiał się na stronie frontonu? lub alternatywnie Ukryć część witryny zaplecza, aby wyglądała jak front-end? Każda pomoc byłaby mile widziana


title: Galeria obrazów zawiera linki do średniego obrazu zamiast obrazu w PEŁNYM rozmiarze

text: Jestem weteranem WordPressa i zbudowałem kilka naprawdę wysoce spersonalizowanych witryn za pomocą WordPressa, jakby to był prawie framework i uwielbiam to. Tak naprawdę nigdy nie musiałem zbyt często korzystać z funkcji Galerii. Na moim obecnym projekcie klienta muszę wykorzystać galerię. Dodałem prostą wtyczkę, aby otwierać miniatury galerii w lightboxie, zamiast opuszczać stronę za każdym razem, gdy klikniesz obraz galerii. To działa świetnie, z wyjątkiem jednego problemu. Obraz, który jest ładowany, i obraz, do którego prowadzą linki w mojej galerii, to obraz o średnim lub dużym rozmiarze, a nie obraz w rozmiarze „PEŁNY”. Poniżej znajduje się skrót do galerii, którego używam... [gallery columns="4" ids="124,23,22,18,19,21,20,16,17,15,14,149,150,151,152,153,154" size="thumbnail" link= "plik"] Miałem nadzieję, że `link="plik"` będzie linkował do obrazu w pełnym rozmiarze, ale zamiast tego linkuje do tego rozmiaru obrazu... `http://domain.com/wp-content/uploads/2014/ 06/april-bio-300x290.png` Obraz, do którego POTRZEBUJĘ linkować, to ten… `http://domain.com/wp-content/uploads/2014/06/april-bio` jak ty widzi, że wyklucza końcówkę `-300x290.png` Czy można to zrobić w prosty sposób? A może muszę utworzyć jakiś filtr i ręcznie usunąć ostatnie 12 znaków `-300x290.png` z adresu URL, a następnie dodać z powrotem rozszerzenie pliku? Powinienem wspomnieć, że po raz pierwszy używam WooCommerce na tej stronie, może to mieć wpływ na galerie, po prostu o tym pomyślałem. Każda pomoc byłaby bardzo mile widziana, z góry dzięki


title: E-maile nie są wysyłane, gdy włączony jest protokół SSL

text: Na moim hoście mam kilka instalacji worddpress. Na jednym z nich zmieniłem nazwę strony na https. Po wykonaniu tej czynności wordpress nie wysyła wiadomości e-mail, na przykład w zgłoszeniu „zapomniałeś hasła”. Jak tylko https zostanie wyłączony, poczta e-mail znów będzie działać poprawnie. Jak mogę to debugować? Zawęziłem problem do ustawienia adresu strony tak, aby zaczynał się od https. W innych witrynach na tym samym hoście, na których nie jest używany protokół https, wiadomości e-mail są wysyłane poprawnie. Więc nie ma problemu z serwerem SMTP (postfix) lub z php. EDYCJA: Jeśli ręcznie zmienię na http z https w przeglądarce na stronie „zagubione hasło”, wiadomość e-mail zostanie wysłana.


title: Wordpress Permalink zmienia się na znak zapytania (?) w adresie URL

text: Mój niestandardowy adres URL linku stałego to /%post_id%/%postname%/, a moja witryna jest w języku perskim, w przypadku niektórych postów link stały zmienia się w adresie URL z http://www.ahangbaz.com/1300/%d8%a7%d8 %a8%db%8c-%d8%b7%d9%be%d8%b4-%da%86%d8%b4%d9%85%d9%87/ w --> http://www.ahangbaz.com /1300/?-???-????/ ale nie dzieje się tak dla wszystkich postów, np. następujący post działa dobrze: ahangbaz.com/1106/%D9%82%DB%8C%D8%B5% D8%B1-%D8%A8%D8%B9%D8%AF-%DA%86%D9%86%D8%AF-%D8%B3%D8%A7%D9%84/ Sprawdziłem w tabeli wp_posts wordpress Post_name wydaje się podobny dla obu postów. Jeśli zmienię post_name na angielski, działa dobrze, ale gdy post_name jest w języku perskim, pojawia się problem. serwer sieci Web to IIS 7.5 w systemie Windows 2008 R2. * * * Dalsze testy: * Zmieniłem motyw i wyłączyłem wszystkie wtyczki, nadal się to dzieje. Sprawdziłem colation DB i jego UTF8. * Aby odtworzyć problem, użyj post_title = ابی - طپش - چشمه, a post_name będzie %d8%a7%d8%a8%db%8c-%d8%b7%d9%be%d8%b4-%da%86%d8 %b4%d9%85%d9%87 * Ten sam problem występuje z kategoriami, gdy ślimak jest w języku perskim ahangbaz.com/category/%d8%a7%d8%a8%db%8c nie działa, ale gdy jest w języku angielskim lub numer, na którym działa ahangbaz.com/category/22.


title: Jak połączyć obrazy jednej witryny WP z inną witryną WP?

text: Moja pierwsza strona ma 92 kategorie, aby wyświetlić ponad 10 000 SMS-ów. Teraz chcę wstawiać losowe obrazy do wszystkich moich postów (SMS) z mojej innej witryny, która zawiera obrazy zgodnie z moimi kategoriami w witrynie SMS. Chcę kodować w taki sposób: Umieść jakiś kod w pliku kategorii na pierwszej stronie, a pobierze on obrazy z kategorii drugiej strony i wyświetli dowolny losowy obraz we wszystkich postach. Wszystkie 92 kategorie SMS będą połączone z różnymi kategoriami obrazów, aby wyświetlić odpowiednie obrazy dla tego samego. Jak mogłem to zrobić?


title: Kategoria, która może pomieścić tylko określoną liczbę postów

text: Chciałbym wiedzieć, czy jest jakiś sposób/wtyczka, aby ograniczyć liczbę postów w kategorii? A za każdym razem, gdy użytkownik opublikuje nowy post w tej kategorii, kategoria automatycznie zwolni stary post? W ten sposób: > Kategoria A, Kategoria B, Kategoria C > > Tutaj kategoria A jest ograniczona i może pomieścić tylko jeden (określony numer) posta. > Teraz użytkownik opublikuje post, który jest w Kategorii A i Kategorii B. Następnie > użytkownik opublikuje post, który jest w Kategorii A i Kategorii C. > > I tu powinna się wydarzyć magia. Aby kategoria A wypuściła z niej pierwszy > post. A pierwszy post będzie dotyczył tylko kategorii B. Jakieś pomysły?


title: Problem z adresem e-mail_istnieje w shortcode

text: Mam niestandardowy formularz rejestracyjny, który wstawiam na stronę za pomocą shortcode. Funkcja shortcode wygląda tak: function custom_registration_form_shortcode() { $error = FALSE; if (isset($_POST["submit"])) { //Pobierz inne dane $_POST tutaj $email = is_email($_POST["email"]); if (!$e-mail) { $error = TRUE; $errorMsg = "E-MAIL NIE WAŻNY"; } if (email_exists($email)) { $error = TRUE; $errorMsg = "EMAIL ISTNIEJE"; } } if (!$error) { // Tworzenie losowego hasła, ustawianie nazwy użytkownika, wp_create_user, itp. działa dobrze $output = "DOBRY"; } // Kilka innych rzeczy, które nie ustawiają $error na TRUE if ($error) { $output = $errorMsg; } return $wyjście; } function jogol_add_shortcodes() { add_shortcode('jogol-registration-form', 'custom_registration_form_shortcode'); } add_action('init', 'jogol_add_shortcodes'); Dzieje się tak, że użytkownik zostaje zarejestrowany w porządku, ale nadal zwraca "EMAIL EXISTS" tak, jakby wp_create_user został wykonany przed email_exists($email) lub kod uruchamia się dwukrotnie po przesłaniu. Ja wariuję i każda pomoc/wskazówki są bardzo mile widziane. Dziękuję! **AKTUALIZACJA:** Oto uproszczona wersja. Brak walidacji. Tylko do celów testowych. function registration_form_shortcode() { if (isset($_POST["registration_submit"])) { if (email_exists($_POST["email"])) { $output = "EMAIL ISTNIEJE"; } else { $nazwa użytkownika = $_POST["e-mail"]; $losowe_hasło = wp_generate_password(8, fałsz); $status = wp_create_user($nazwa użytkownika,$losowe_hasło,$_POST["e-mail"]); $wyjście = "DOBRY"; } } $form = '<form name="rejestracja" action="'.esc_url($_SERVER['REQUEST_URI']).'" method="post"> <label for="email">E-mail</label> <input type="text" name="email" value="'.$_POST["email"].'" /> <input type="submit" name="registration_submit" value="Wyślij" /> </ formularz>'; $wyjście .= $forma; zwróć $wyjście; } function add_my_shortcodes() { add_shortcode('formularz-rejestracyjny', 'formularz_rejestracyjny_shortcode'); } add_action('init', 'add_my_shortcodes'); Co zrobiłem (i proszę o spróbowanie): 1. Umieściłem ten kod w functions.php mojego motywu 2. Dodałem krótki kod do strony za pomocą [formularza rejestracyjnego] Co powinienem zrobić, gdy wprowadzę poprawny adres e-mail- adres, który nie jest jeszcze zarejestrowany w moim WP-install i naciśnij przycisk Wyślij: 1. Utwórz użytkownika 2. Wyświetl „DOBRY” nad formularzem Co faktycznie robi: 1. Utwórz użytkownika 2. Wyświetl „EMAIL EXISTS” powyżej forma nie mam pojęcia. Jakieś pomysły?


title: Jak przestać wyświetlać identyfikator bez utraty funkcjonalności?

text: Używam niestandardowego kodu, aby niektóre funkcje wtyczki były dostępne tylko z określonymi możliwościami. Oto kod: <?php // Sprawdź, czy użytkownik może edytować // Ustaw uprawnienia na false = 'niedozwolone' $current_user_is_allowed_to_edit = false; // Pobierz ID użytkownika, który ogląda ten post $user_ID = get_current_user_id(); // Pobierz identyfikator post-nadawcy $post_author_ID = the_author_meta('ID'); // Sprawdź, czy użytkownik ma rolę 'Editor' i wyższą LUB jest Post-Writerem if ( current_user_can('edit_others_posts') || get_post(filter_input(INPUT_POST, 'post_id'))->post_author == get_current_user_id() ) { / / Ustaw uprawnienie na true = 'dozwolone' $current_user_is_allowed_to_edit = true; } ?> Chcę `$post_author_ID = the_author_meta('ID');` tylko do ustawienia możliwości dostępu do określonej zawartości `{ live_edit('post_title, myfield2'); }` i nie publikować identyfikatora. Ale publikuje numer w każdym poście, którego nie chcę. Oto szablon complate Daj mi również znać, jeśli nie używam prawidłowego sposobu ograniczania dostępu do określonej zawartości- `{ live_edit('post_title, myfield2'); }`


title: Trwale przekieruj blog podfolderowy WordPress do subdomeny na innym serwerze

text: Pozwolę sobie dokładniej wyjaśnić tytuł. Pierwotnie mieliśmy statyczną witrynę marketingową pod adresem example.com i bloga wordpress hostowanego pod adresem www.joesexample.com/blog. Przenosimy teraz tego bloga na blog.joesexample.com. Jednak ten blog jest hostowany na innym serwerze (ta sama nazwa serwera, ale inny host WP). Oryginalna witryna marketingowa jest nadal hostowana na oryginalnym innym serwerze. Tak więc prawdopodobnie na oryginalnym hoście w www.joesexample.com/blog opróżnimy ten folder i dodamy .htaccess, który będzie wymagał przekierowania 301, aby każdy, kto przejdzie do joesexample.com/blog, został na stałe przekierowany do blog.joesexample.com jako a także przekierowanie wszystkich postów do nowej lokalizacji. Na przykład przekierowanie www.joesexample.com/blog/2014/01/my-post-title/ na blog.joesexample.com/2014/01/my-post-title/ Na podstawie wyników z Google zadziałałoby: RewriteEngine ON RewriteCond %{REQUEST_URI} ^/blog RewriteRule ^(.*)$ http://blog.joesexample.com/$1 [R=301,L,P] Nie jestem pewien, ponieważ znajdują się na różnych serwerach (ips), jeśli to miałoby znaczenie, myślę, że nie będzie, ponieważ nazwa domeny jest taka sama, a także jeśli ta reguła obejmie tylko przekierowanie na główną stronę główną bloga lub wszystkie posty, nie jestem pewien, czy przekieruje posty, które są w rok/miesiąc/format tytułu posta. Wreszcie, powodem, dla którego pytam tutaj najpierw, a nie oczywiście sam testuję, jest to, że jest to inna osoba z dostępem do tego konkretnego serwera, więc chcę mieć pewność, że zadziała, zanim spróbuję. AKTUALIZACJA - Poszedłem dalej i próbowałem nakłonić osobę do korzystania z powyższego htaccess. Wygląda na to, że wszystko działa, z wyjątkiem tego, że nie przepisuje adresu URL w polu adresu URL. Mam na myśli to, że jeśli wejdę na http://www.joesexample.com/blog, teraz poprawnie wyświetla zawartość z http://blog.joesexample.com, jednak pole adresu URL nadal pokazuje http://www.joesexample. pl/blog. Wygląda na to, że nadal potrzebuję dodatkowej reguły htaccess, która zmieni wygląd adresu URL w pasku adresu URL. jakieś pomysły?


title: Instalacja wtyczki Contact Form 7 nie powiodła się

text: zainstalowanie formularza kontaktowego 7 po raz pierwszy kończy się niepowodzeniem z komunikatem:Rozpakowywanie pakietu… Instalowanie wtyczki… Folder docelowy już istnieje. /web1/user25606/website/wp-content/plugins/contact-form-7/ Instalacja wtyczki nie powiodła się. brak znaku wtyczki na liście wtyczek? Nie zainstalowałeś jeszcze żadnych wtyczek?


title: Jak generować miniaturki tylko wtedy, gdy są potrzebne?

text: Mam 1000 zdjęć. Jak mogę zrobić wordpress, aby wygenerować kciuk tylko wtedy, gdy jest to potrzebne. Na przykład suwak domowy użyje tylko 10 obrazów, nie chcę, aby inne 1000 obrazów miało wygenerowaną miniaturę, ponieważ jest to strata miejsca i zasobów. Czy istnieje sposób na uruchomienie add_image_size tylko wtedy, gdy jest to potrzebne? Dzięki **UPDATE** Jak wspomniałeś, tak naprawdę add_image_size nie jest potrzebny do odpalenia. Byłoby wspaniale uruchomić zmianę rozmiaru obrazu, gdy używam **the_post_thumbnail('slider-thumb');** Może to spowalnia pierwszy widok obrazu, ale ten widok jest zwykle generowany przeze mnie, gdy faktycznie przeglądam post więc mnie to nie obchodzi. Tak więc między moimi postami, suwakiem, miniaturami blogów, miniaturami portfolio itp. mam 1000 obrazów i chcę zmienić rozmiar tylko 10 obrazów dla suwaka. Widzę wiele zmarnowanych zasobów, aby wygenerować rozmiar miniatury dla pozostałych 990 obrazów. Mam nadzieję, że teraz jest jasne, przepraszam za mój angielski


title: Wyłączanie tworzenia wielu zdjęć

text: Jeśli prześlę obraz na moją witrynę Wordpress, w moich plikach zostanie utworzonych SIEDEM zdjęć. (Oryginał, który przesłałem, i 6 innych o różnych rozmiarach.) Widzę, jak może to być przydatne dla wielu osób, ale dla mnie po prostu buduje ogromną liczbę plików, co nie sprawia, że moja firma hostingowa jest bardzo szczęśliwa. Czy istnieje sposób na wyłączenie tej funkcji??? (lub przynajmniej zanegować to jednym kliknięciem?) Mogę zalogować się do mojego menedżera plików i usunąć te dodatkowe pliki, ale to dość czasochłonne.


title: Wykluczanie iPada z wp_is_mobile

text: Doświadczam bardzo irytującego problemu. Zbudowałem swoją witrynę internetową za pomocą zapytań o media i is_mobile (myślenie, że is_mobile byłoby tym samym, co mniejsze ekrany. Jak głupi z mojej strony), ale po kilku testach najwyraźniej iPad to zepsuł (no dobrze, właściwie to zrobiłem). Wszystkie moje problemy można by łatwo rozwiązać, gdybym mógł wykluczyć iPada z funkcji wp_is_mobile. Jak przepisać tę funkcję? funkcja wp_is_mobile() { statyczna $is_mobile; if ( isset($is_mobile) ) return $is_mobile; if ( pusty($_SERVER['HTTP_USER_AGENT']) ) { $is_mobile = false; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // wiele urządzeń mobilnych (wszystkie iPhone, iPad itp.) || strpos($_SERVER['HTTP_USER_AGENT'], 'Android' ) !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false || strpos( $_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false ) { $is_mobile = true; } else { $is_mobile = false; } return $is_mobile; } Jak mam to zmienić?


title: Galeria zdjęć z polecanymi obrazami

text: Najpierw muszę zapytać, czy można stworzyć galerię zdjęć tylko z polecanymi zdjęciami ostatnich 6 postów? Zakładam, że jest to możliwe, ale chcę się upewnić. Nie mam dużego doświadczenia w bezpośredniej pracy z galerią wordpress, więc czy ktoś mógłby wskazać mi właściwy kierunek, aby to osiągnąć? Zrobi to każda wtyczka o podobnej funkcjonalności lub samouczek.


title: Pokaż strony nadrzędne i podrzędne z polecanym obrazem i ukryj bieżącą stronę

text:
Ok, próbuję wyświetlić linki do strony nadrzędnej i podrzędnej z ich polecanymi obrazami. Mam ten kod, ale problem polega na tym, że na stronie podrzędnej nie wyświetla się, jak mogę to zrobić? <?php $child_pages = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'strona' ORDER BY menu_order", 'OBJECT'); if ( $child_pages ): foreach ( $child_pages as $pageChild ) : setup_postdata( $pageChild ); ?>
 <?php echo get_the_post_thumbnail($pageChild->ID, 'thumbnail'); ?> <a href="<?php echo get_permalink($pageChild->ID); ?>" rel="zakładka" title="<?php echo $pageChild->post_title; ?>"><?php echo $ pageChild->post_title; ?>
 <?php endforeach; endif; ?>


title: Wp ajax nie działa z hakiem administratora "current_screen"

text: Mam klasę, która wykonuje jakąś pracę zaplecza (zakotwiczanie plików css i js, tworzenie metaboksów, rejestrowanie zaczepów ajax itp.) Wszystko działa dobrze, gdy po prostu dołączam pliki. Problem polega na tym, że pliki znajdują się na każdej stronie administratora. Aby umieścić je tylko na stronie, na której naprawdę chcę ( CPT ) użyłem haka administratora 'current_screen'. Wewnątrz tego haka można bezpiecznie użyć funkcji 'get_current_screen' Używam tej funkcji do określenia, na której stronie aktualnie się znajduję, dzięki czemu mogę dodać odpowiednie klasy. To, co dzieje się dalej, to to, że moja klasa nadal działa zgodnie z oczekiwaniami (zakotwiczanie css, js, tworzenie metaboksów) tylko na stronie CPT, ale haki ajax przestają działać (odpowiedź 0). Żądania Ajax są wyzwalane przez kliknięcie przycisków wewnątrz metaboksów. Nie jestem do końca pewien, co się dzieje, nie ma błędów php. 1. działa: include(plugin_dir_path(__FILE__) .'/src/MyClass.php'); nowa MojaKlasa(); 2. zepsute: add_action('current_screen',"iki_admin_current_screen"); function iki_admin_current_screen() { $screen = get_current_screen(); if($screen->id == 'portfolio') { include(ścieżka_katalogu_wtyczki(__FILE__) .'/src/MojaKlasa.pnp; nowa MojaKlasa(); } } 3. broken: include(ścieżka_katalogu_wtyczki(__FILE__) .'/src /MyClass.add_action('current_screen',"iki_admin_current_screen"); function iki_admin_current_screen() { $screen = get_current_screen(); if($screen->id == 'portfolio') { new MyClass(); } } Chciałbym aby wskazać, że klasa działa we wszystkich trzech przykładach, z wyjątkiem wywołań AJAX, które działają tylko w pierwszym przykładzie.


title: Wyświetl Meta Box na interfejsie użytkownika i pozwól użytkownikowi go tam zaktualizować

text:
Prowadzę platformę wielu autorów, na której wielu użytkowników ma uprawnienia redakcyjne. Jestem w trakcie przenoszenia wszystkich zadań redakcyjnych ze strony edycji posta do interfejsu użytkownika (podgląd posta). Dodałem metabox Assistant Editor do strony edycji posta: ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/LEVXc.png) Oto uproszczony kod (na podstawie s_ha_dum's kod): add_action( 'add_meta_boxes', 'assistant_editor_box' ); function assistant_editor_box() { add_meta_box( 'assistant_editor_box', // id, używany jako identyfikator HTML att __( 'Edytor pomocniczy' ), // tytuł meta pola 'editor_tasks', // funkcja wywołania zwrotnego, wypluwa treść 'post' , // typ posta lub strona.Dodaje to do postów tylko 'side', // context, gdzie na ekranie 'high' //priorytet, gdzie powinno to trafić w kontekście ); } funkcja editor_tasks($post) { global $wpdb; $wartość = get_post_meta($post->ID, 'edtasks', prawda); echo '
Zadania redakcyjne:
'; $edtasks = array( 1 => ' Weryfikacja (pierwsza)', 2 => ' Tagi ', 3 => ' Itd... ' ); foreach ($edtasks as $id => $text) { $checked = (in_array($id,(array)$value)) ? ' sprawdzone="sprawdzone"' : ''; echo '<etykieta><input type="pole wyboru" name="edtasks[]" value="' . $id . '"'. $zaznaczone . '/>'.$text.'
'; } echo 'Edytorzy asystenci:
'; $qry['relacja'] = 'LUB'; $qry[] = array( 'key' => $wpdb->prefix.'capabilities', 'value' => 'editor', 'compare' => 'like' ); $qry[] = array( 'key' => $wpdb->prefix.'capabilities', 'value' => 'administrator', 'compare' => 'like' ); $qry = array('fields' => 'all_with_meta','meta_query'=>$qry); $alleds = get_users($qry); $currenteds = get_post_meta($post->ID, 'currenteds', true); foreach ($alleds as $ed) { $checked = (in_array($ed->ID,(array)$currenteds)) ? ' sprawdzone="sprawdzone"' : ''; $wyłączone = ( current_user_can( 'manage_options' ) ) ? '' : ( $ed->ID != get_current_user_id() ) ? ' style="wyświetlanie:brak"' : ''; echo '<etykieta' . $wyłączone . ' ><input type="pole wyboru" name="bieżące[]" value="' . $ed->ID . '"' . $zaznaczone . $wyłączone . '"/> '.$ed->nazwa_użytkownika.''; } echo '
'; } add_action('save_post', 'save_metadata_ass_ed'); function save_metadata_ass_ed($postid) { if ( define( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return false; if ( !current_user_can( 'edit_page', $postid ) ) return false; if( empty($postid) ) return false; if ( is_null($_REQUEST[" edtasks"]) ) { delete_post_meta($postid, 'edtasks'); } else { update_post_meta($postid, 'edtasks', $_REQUEST['edtasks']); } if ( is_null($_REQUEST["currenteds"]) ) { delete_post_meta($postid, 'currenteds'); } else { update_post_meta($postid, 'currenteds', $_REQUEST['currenteds']); } } Chcę dodać to pole meta do strony podglądu posta (frontend) i pozwól edytorowi zaktualizować go tam, najlepiej za pomocą przycisku Zapisz lub linku za pomocą Ajax.Czy to możliwe i jak?


title: Wyświetl meta opis strony na stronie głównej motywu potomnego

text: Pracuję nad projektem. Muszę wyświetlić **Niestandardowy tytuł dokumentu i metaopis strony** na stronie głównej. Chodzi mi o to, że wiesz, że Genesis ma niestandardowy Theme SEO Box pod Postem. Chcę, aby niestandardowy **Tytuł SEO i opis meta** był wyświetlany na stronie głównej zamiast normalnego układu strony głównej. Każda pomoc byłaby mile widziana.


title: Jak wyłączyć dostęp do stron kategorii

text: Chcę, aby moje kategorie były aktywne, a jednocześnie chcę, aby strony kategorii były niedostępne. Czy to możliwe? Jeśli tak, jak? **Dlaczego chcę to zrobić? (Prawdopodobnie może to pomóc)** Pracuję nad stroną internetową ugc. Zostałem poproszony o przeniesienie `/category/cat-name` do `/cat-name`. Zostałem również poproszony o dodanie kolejnej strony `/cat-name/add`, na której użytkownicy mogą pisać tylko do określonej kategorii. Nie można dodać strony `/cat-name/add` dopóki nie stworzę strony (nie strony kategorii) `/cat-name`. Jeśli stworzę stronę `/cat-name`, będzie to powodować konflikt ze stroną kategorii `/cat-name`. Dlatego pomyślałem, że wyłączę stronę kategorii `/cat-name` i użyję zwykłej strony w `/cat-name` do wyświetlania wpisów kategorii.


title: Przyciski radiowe w widżetach

text:
To, co próbuję zrobić, to utworzyć 2 pola radiowe w panelu administracyjnym widżetu i zapisać to, które jest zaznaczone w instancji widżetu. W tym celu ustawiłem `name` i `id` danych wejściowych w następujący sposób: <?php function form($instance ){ $fieldName = $this->get_field_name('post_options'); $fieldID = $this->get_field_id('post_options'); ?> <?php if($instance['post_options'] == 'text'): ?> <?php echo '
'.$instance['post_options'].'
' ?> < input id="<?php echo $fieldID; ?>" name="<?php echo $fieldName; ?>" type="radio" value="images">Wyświetlaj opcje postów jako obrazy
 <input id= "<?php echo $fieldID; ?>" name="<?php echo $fieldName; ?>" type="radio" value="text" zaznaczone>Wyświetlaj opcje postu jako tekst
 <?php else: ? > <?php echo '
'.$instance['post_options'].'
' ?> <input id="<?php echo $ID pola; ?>" name="<?php echo $ fieldName; ?>" type="radio" value="images" zaznaczone>Wyświetlaj opcje postów jako obrazy
 <input id="<?php echo $fieldID; ?>" name="<?php echo $fieldName; ?>" type="radio" value="text">Wyświetl opcje postu jako tekst
 <?php endif; ?> <?php } ?> Problem polega na tym, że $instance['post_options'] jest puste. Co robię źle?


title: Jak sortować podstrony według „post_title” oraz „menu_order” za pomocą wp_list_pages?

text:
Stworzyłem pasek boczny za pomocą wp_list_pages i wymieniłem wszystkie podstrony ze stroną nadrzędną. Oto mój kod: <?php if( is_page() ) { if( !$post->post_parent ){ $pagelist=''; $children = wp_list_pages('sort_column=post_title&title_li=&child_of='.$post->ID.'&echo=0'); if( $children ) $pagelist .= '
' . $dzieci . '
'; $lista stron .= ''; } elseif( $post->ancestors ) { $ancestor = end($post->ancestors); $pagelist .= '
' . wp_list_pages('sort_column=post_title&title_li=&child_of='.$ancestor.'&echo=0') .'
'; } echo $lista stron; } ?> a tu link do mojej strony. Proszę śledzić moją stronę. Właściwie chcę wszystkie podstrony w kolejności menu i mam to, ale chcę, aby wszystkie podstrony w "rodzaje infekcji" były w porządku alfabetycznym. Nie wiem jak zastosować ten warunek do powyższego kodu. Proszę pomóż mi.


title: Paginacja listy użytkowników

text: Pokazuję wszystkich użytkowników za pomocą funkcji `get_user()`. Ale muszę ponumerować wyniki. Próbowałem dużo, ale nie udało mi się. Oto kod, który nie działa zgodnie z oczekiwaniami: $args = array( 'meta_query' => array( array( 'key' => 'ib_s2member_custom_fields', 'value' => trim($_GET["kraj"] ), 'compare' => 'LIKE' ), array( 'key' => 'ib_s2member_custom_fields', 'value' => trim($_GET["miasto"]), 'compare' => 'LIKE' ), array ( 'key' => 'ib_s2member_custom_fields', 'value' => $first_name, 'compare' => 'LIKE' ), array( 'key' => 'ib_s2member_custom_fields', 'value' => $last_name, 'compare' => 'LUBIĘ' ) ) ); $users = get_users( $args );


title: Jak zrobić kopię WordPressa do innego folderu?

text: Obecnie mój WordPress działa poprawnie w folderze głównym mojego serwera produkcyjnego. Teraz chciałbym skopiować prawie wszystko (oprócz bazy danych i adresu URL) do innego folderu w celach testowych, powiedzmy `/newsite`. 1. Jaki jest najwygodniejszy sposób na zrobienie tego? 2. Czy muszę grać z plikiem `.htaccess` ? W tej chwili nawet nie używam tego pliku na serwerze produkcyjnym, czy to źle? 3. Czy Wordpress multisite będzie w stanie oddzielić witrynę produkcyjną i deweloperską? A co z separacją bazy danych? Zasadniczo chciałbym mieć * www.mojadomena.com jako stronę główną * www.mojadomena.com/nowastrona jako stronę testową, do której mam pełny dostęp przez FTP. Każda pomoc jest bardzo ceniona.


title: Tworzenie niestandardowego nagłówka

text: Używam szarego motywu i chcę utworzyć niestandardowy nagłówek przy użyciu własnego obrazu. moje umiejętności komputerowe są ograniczone i nie mam pojęcia, od czego zacząć ani jak otworzyć pliki php, jeśli to jest to, co muszę zrobić. Nie mogę znaleźć żadnej pomocy w Internecie. Oto obraz, jeśli to zadziała, „http://chefdude20.wordpress.com/2012/12/11/14/wolf-engines-logo/”


title: Zmień adres URL comment_reply_link

text: Mam odwrotny serwer proxy, który wskazuje mój blog WordPress (CNAMED na blog.example.com) na www.example.com/blog/ Prawie wszystko działa dobrze, z wyjątkiem linków do odpowiedzi na komentarze. Pomijają /blog/ i przechodzą do www.example.com/category/post/, co skutkuje 404. Czy mogę to naprawić bez edytowania plików wp-includes?


title: Dołącz zewnętrzny plik PHP do niestandardowego szablonu Wordpress

text:
Czy to w ogóle możliwe? Mam na myśli, że próbuję dodać bloga do mojej witryny. Mam już układ nagłówka, stopki i paska bocznego w mojej witrynie. czy mogę ich użyć w moim niestandardowym szablonie wordpress? <?php /* Nazwa szablonu: Blog */ ?> <?php include( PATH . 'http://www.mysite.com/includes/header.php' ); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<a href="<?php the_permalink() ?>"> <?php the_title (); ?>
 <?php include (ścieżka_szablonu . '/inc/meta.php' ); ?>
 <?php the_content(); ?>

 <?php the_tags('Tagi: ', ', ', '
'); ?> Opublikowany w <?php the_category(', ') ?> | <?php comments_popup_link('Brak komentarzy »', '1 komentarz »', '% komentarzy »'); ?>

 <?php endwhile; ?>
 <?php include (ścieżka_szablonu . '/inc/nav.php' ); ?>
 <?php else : ?>
Nie znaleziono
 <?php endif; ?> <?php include( PATH . 'http://www.mysite.com/includes/sidebar.php' ); ?> <?php include( PATH . 'http://www.mysite.com/includes/footer.php' ); ?> Próbowałem też... `<?php include('http://mywebsite.com/includes/header.php'); ?>`


title: Czy istnieje sposób na uruchomienie automatycznego importu kopii zapasowej WP podczas tworzenia nowej witryny wielostanowiskowej WP?

text: Mam plik kopii zapasowej WP przykładowej zawartości, którego używam podczas konfigurowania nowej witryny w mojej instalacji wielostanowiskowej WP (używam go do pracy nad tworzeniem motywów dla klientów). Czy istnieje sposób na uruchomienie funkcji importowania podczas tworzenia nowej witryny? Spojrzałem na wtyczkę domyślnych blogów WPMU, ale są funkcje, których nie chciałbym (takie jak tagi postów i kategorie podrzędne / nadrzędne). Trochę więcej szczegółów... Ustawienia > Importuj (właściwie Narzędzia > Importuj, ponieważ zostało przeniesione z menu Ustawienia jakieś wydanie lub dwie temu) jest tym, co chcę zautomatyzować. Jak wspomniałem, mam plik WXR z zawartością, który zwykle importuję ręcznie za każdym razem, gdy tworzę nową witrynę. Chciałbym usunąć ten ręczny krok z mojego przepływu pracy. Sam plik kopii zapasowej jest przechowywany na moim serwerze deweloperskim, więc WP miałby do niego bezpośredni dostęp.


title: Jeśli używam alternatywnej wtyczki logowania (np. CAS lub innego SSO), czy moja witryna jest chroniona przed niedawnymi próbami logowania brute force?

text: Słyszałem o niedawnym wzroście prób logowania do WordPressa metodą brute-force z powodu masowego ataku botnetowego. Wszystko, co do tej pory przeczytałem, wskazuje, że atak polega na próbowaniu różnych haseł na koncie „admin”. Jeśli używam alternatywnej metody logowania, takiej jak CAS lub inny dostawca jednokrotnego logowania, czy moja instalacja WordPressa jest bezpieczna przed tymi atakami, zakładając, że dostawca SSO nie ma łatwego hasła na swoim koncie administratora (jeśli jeden nawet istnieje)?


title: Jakie problemy napotkasz, jeśli użyjesz Nginx

text: WordPress jest dość świnią pamięci i myślałem o użyciu nginx zamiast apache. Jedną z głównych kwestii, zanim to zrobisz, jest to, czy istnieją jakieś wtyczki, które przestaną działać. Przetestowałem kilka i wydaje się, że działają, ale muszę dowiedzieć się, czy są takie, które mogą się zepsuć.


title: Jak zmodyfikować bazowy slug autora z grupami i slug, aby używał nice_nickname?

text: Po zapoznaniu się z poniższymi sugestiami Jana Fabry'ego dotyczącymi przepisywania adresów URL i autorskim ślimakiem podjąłem wyzwanie połączenia obu rozwiązań w jednym. * Zmień podstawowy ślimak autora dla różnych ról * Zmień ślimak autora z nazwy użytkownika na pseudonim **Cel:** Celem tego jest stworzenie następującej struktury dla autorów: http://domain.tld/employees/( dział|grupa)/firstname-lastname **Aktualne rozwiązanie:** Aby to zorganizować, połączyłem rozwiązania wymienione w przytoczonych odpowiedziach w następujący sposób: // UWAGA: To musi być przechowywane inaczej i musi być dołączone do autor/profil // Zostanie dodany do ustawień użytkownika, więc będzie można to zmienić (zapisana zostanie tylko grupa podstawowa) $wpa04142013_author_groups = array( 'staff', 'admin', 'support', 'itnerds', 'etc' ); /* * Uruchom WordPress, aby dodać globalne wartości, które mogą być używane dla autorów i poziomów autorów. */ add_action( 'init', 'wpa04142013_init' ); funkcja wpa04142013_init() { global $wp_rewrite; $author_groups = $GLOBALS['wpa04142013_author_groups']; // Zdefiniuj tag i użyj go w regule przepisywania add_rewrite_tag( '%author_group%', '(' .implode( '|', $author_groups) . ')' ); $wp_rewrite->author_base = 'pracownicy/%author_group%'; } Powyższe rozwiązanie zapewni, że `author_base` jest zmieniany zgodnie z potrzebami w oparciu o cel zdefiniowany na początku. Następnie `author_link` musi być podpięty do innego, aby użyć poprawnego linku do strony archiwum autora. add_filter( 'link_autora', 'wpa04142013_link_autora', 10, 3 ); function wpa04142013_author_link( $link, $author_id, $author_nicename ) { //UWAGA: To if/inne musi zostać zmienione --> wybierz wielkość liter i użyj // globalnych grup zdefiniowanych na podstawie właściwości użytkownika if ( 1 == $author_id ) { $author_group = 'personel'; } else { $author_group = 'admin'; } $link = str_replace( '%grupa_autorów%', $grupa_autorów, $link ); //Poniżej dodano rozwiązanie z innych sugestii WordPress Answers $author_nickname = get_user_meta( $author_id, 'nickname', true ); if ( $autor_pseudonim ) { $link = str_replace( $autor_nicename, $autor_pseudonim, $link ); } return $link; } Po zaimplementowaniu powyżej link do autora działa poprawnie, ale żądanie i przepisanie adresu URL nie działa. Kliknięcie linku autora spowoduje wyświetlenie strony 404 dla szablonu. Jeśli się nie mylę, muszę również zmodyfikować poniższą sekcję, ale tutaj dzieje się źle. /* * Zaczep do 'request', aby zmodyfikować żądanie autora. * Zmień sposób działania wyszukiwania (poprzez pseudonim zamiast slug) */ add_filter( 'request', 'wpa04142013_request' ); function wpa04142013_request( $query_vars ) { if ( array_key_exists ( 'autor_name', $query_vars )) { global $wpdb; $author_id = $wpdb->get_var( $wpdb->prepare( "SELECT user_id FROM {$wpdb->usermeta} WHERE meta_key='nick' AND meta_value = %s", $query_vars['author_name']) ); if ( $author_id ) { $query_vars['autor'] = $author_id; unset( $query_vars['autor_name'] ); } } return $query_vars; } add_filter( 'author_rewrite_rules', 'wpa04142013_author_rewrite_rules' ); function wpa04142013_author_rewrite_rules( $author_rewrite_rules ) { foreach ( $author_rewrite_rules as $pattern => $substitution ) { if ( FALSE === strpos( $substitution, 'autor_name' ) ) { unset( $author_rewrite_rules );[$wzór] ); } } return $author_rewrite_rules; } Otrzymałem już pomoc na holenderskim forum wsparcia WordPressa, ale nadal nie mogę znaleźć właściwego rozwiązania. Przyjrzano się także przepisaniu za pomocą Analizatora Przepisów, ale nie udało się znaleźć `grupy_autorów`. Mam nadzieję, że pomożesz mi wskazać mi właściwy kierunek.


title: Gdzie mogę znaleźć listę haków WordPress?

text: Gdzie mogę znaleźć listę wszystkich podpięć WordPressa i funkcji nadrzędnych (wtyczki, skrypty itp.)? **Edytuj:** Wtyczka jest tutaj: http://wordpress.stackexchange.com/questions/307/where-can-i-find-a-list-of-wordpress-hooks/339#339


title: Jak wyciąć index.php z szablonu i zaimportować z innego pliku?

text: Jestem początkującym w tworzeniu szablonów wordpress i próbuję stworzyć niestandardowy plik indeksu. Chcę wyświetlać najnowsze posty w segmentach: 2 pierwsze posty powinny być wyświetlane jako lista trzeci post będzie wyświetlany z miniaturą w pełnej szerokości następne 4 posty będą wyświetlane w polach o szerokości 1/2 że muszę skopiować i wkleić kod dla każdego segmentu, zmieniając kilka rzeczy jak szerokość span (używam bootstrap) i licznik, który się resetuje, jeśli osiągnie limit postów, które ustawiłem. Czy jest na to profesjonalny sposób? W php napisałbym funkcje w innym pliku, a następnie wywołałbym je z index.php, aby kod był dobrze napisany i czysty.


title: Przekieruj taksonomię do niestandardowego szablonu, aby wyświetlić terminy w taksonomii

text: Próbuję dostosować trochę kodu na wywoływanie niestandardowego szablonu za pomocą reguły przepisywania. Mam niestandardową taksonomię o nazwie „stan”. Chcę utworzyć archiwum taksonomii zawierające wszystkie _terminy_ w tej taksonomii. `http://www.site.com/state` Załaduje mój niestandardowy szablon, w którym mogę zapytać o warunki i przejść przez nie. Alabama Alaska Arizone Arkinsas itp. Wiem, że istnieje możliwość konfliktu, jeśli mam stronę o nazwie „stan”, ale to ryzyko, które mogę podjąć. Kod w samouczku działa bardzo dobrze dla `http://www.site.com/state/1` lub `http://www.site.com/state/2`, ale zwraca 404, jeśli nie ma przechwyconej liczby . i ta liczba byłaby dobra do paginacji, jeśli lista terminów wymknie się spod kontroli. Oto kod: add_action('admin_init', 'handle_taxonomy_route'); function handle_taxonomy_route() { add_rewrite_rule('^state/([^/]+)/?', 'index.php?state_var=$matches[1]', 'top'); } add_filter('init', 'declare_vars'); function define_vars() { add_rewrite_tag('%state_var%', '([^&]+)'); } add_filter('template_include', 'mój_szablon', 1, 1); function my_template ($szablon) { global $wp_query; if (isset($wp_query->query_vars['state_var'])) { return dirname(__FILE__) . '/state-list.php'; } return $szablon; } Z tego, co próbowałem do tej pory, nie wydaje się kolidować z `http://www.site.com/state/alabama` Gdzie Alabama jest terminem w taksonomii stanowej, ale zdecydowanie powinien zawierać tylko liczby. Podobne pytanie pozostało bez odpowiedzi w zeszłym roku. Jak wymienić warunki taksonomii niestandardowej na np. domena.com/brands/


title: Jak edytować link do liczby komentarzy

text: Niedawno zainstalowałem Disqus na moim blogu i mam problem z linkiem w liczbie komentarzy. Na stronie głównej tutaj wszystkie komentarze liczą się dla każdego posta link do odpowiedniego adresu URL dla postu z dodanym `#disqus_thread`, aby przenieść użytkownika do sekcji komentarzy na dole. Jeśli przejdziesz do posta, klikając tytuł, tak jak tutaj, link na liczniku komentarzy zmieni się na „#respond”, co nie działa. Jak/gdzie mogę zmienić tę wartość na `#disqus_thread`, aby przenosiła użytkownika do komentarzy poniżej tak, jak powinna?


title: Niestandardowa strona Moje konto i niestandardowa strona do edycji postów

text: Stworzyłem motyw WP dla firmy zajmującej się nieruchomościami, z niestandardowymi typami postów, które w rzeczywistości są mieszkaniami, dzięki czemu użytkownicy mogą z jednej niestandardowej strony wprowadzić wszystkie informacje, a niestandardowy post zostanie zapisany. Chciałbym teraz wyświetlać niestandardowe strony dla opcji „Moje konto” i „Edytuj apartamenty”. Czy jest więc sposób na zrobienie niestandardowego mojego konta i niestandardowej strony do edycji posta? Nie mogę znaleźć wiele w google, czy ktoś może pomóc?


title: Jak osobno przechowywać kategorię i tagi na wordpressie?

text: Próbuję ręcznie wstawić dane we wszystkich tabelach na zapleczu. Mam problem podczas wstawiania danych do `wp_terms`. Potrafię z powodzeniem wstawić kategorię do `wp_terms` i zdefiniować relacje w `wp_term_relationships` i `wp_term_taxonomy`. Jak WordPress rozróżnia kategorię od tagów?


title: Jak mogę ograniczyć php mail() do wysyłania mi tylko jednego e-maila po błędzie db?

text: Jestem w trakcie dostosowywania dp-error.php. Używam funkcji mail() do ostrzegania mnie, gdy w mojej witrynie internetowej występuje problem z połączeniem z bazą danych. Kłopot w tym, co jeśli 1000 osób odwiedzi moją witrynę, gdy nie działa? Czy nie dostanę 1000 e-maili? Oto kod, którego używam do wysyłania wiadomości e-mail: mail("email@email.com", "Błąd bazy danych", "Wystąpił problem z bazą danych!", "Od: Twoja instalacja WP"); ?> Moje inne pytanie brzmi, skąd mail() wiedziałby, że mogę wysłać mi wiadomość e-mail z powiadomieniem w przypadku przyszłego błędu db? Po pewnym czasie wyślij ponownie, jeśli (nadal) występuje błąd? Dziękuję!


title: Otrzymywanie liczby komentarzy na post nie działa

text:
Mam taką funkcję: <?php $popular = new WP_Query('orderby=comment_count&posts_per_page=5'); ?> <?php while ($popular->have_posts()) : $popular->the_post(); ?>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?>
 <?php endwhile; ?> Gdzie dodałem `$popular->wp_comment_count`, ale to w ogóle nie działało. Jak mam to zrobic? Chcę zobaczyć liczbę komentarzy na post...


title: Dlaczego domyślna funkcja Wstaw/edytuj link w trybie wizualnym w postach lub na stronach tworzy pełne adresy URL?

text: Sytuacja: używam domyślnego pola opisu na stronie w trybie wizualnym. Próbuję połączyć słowa „strona z wiadomościami” z moją stroną z wiadomościami. Wybieram stronę Wiadomości z listy zawartości oferowanej mi w wyskakującym oknie Wstaw/edytuj. Pole adresu URL jest wypełnione: > http://belgianstrokecouncil.be/news/ (generuje pełny adres URL w górnym polu adresu URL wyskakującego okienka) , podczas gdy generowanie linku adresu > /news/ miałoby większy sens. Linki zakodowane na sztywno utrudniają życie po zmianie nazwy domeny. Dlaczego domyślna funkcja Wstaw/edytuj łącze w trybie Wizualnym w postach lub na stronach powoduje, że używasz pełnego adresu URL, a nie tylko ostatniej części adresu? Mogę oczywiście przełączyć się na tryb tekstowy i po prostu edytować adres URL, aby był /news/, ale to uniemożliwiłoby użycie funkcji łatwego wstawiania/edytowania adresu URL. Może to ustawienie, może jest wtyczka, może źle to robię. Ten ostatni jest bardziej prawdopodobny. :) Z poważaniem,


title: Jak usunąć ekran powitalny i jego pole wyboru opcji ekranu?

text: Klikając opcje ekranu na desce rozdzielczej, w obszarze rozwijanym znajduje się pole wyboru powitania. Więc nawet po ukryciu ekranu powitalnego, jeśli użytkownik zdecyduje się wyświetlić ekran powitalny. Nadal widać. Czy istnieje sposób na całkowite ukrycie tej opcji i wyłączenie ekranu powitalnego? A może inaczej, sposób na całkowite usunięcie treści powitalnej i zastąpienie jej czymś innym?


title: Błąd w pętli Wordpress dla szablonu strony

text:
To jest szablon strony dla niestandardowego suwaka nivo, daje nieoczekiwany błąd endwhile w wierszu 1. Nie mogę się dowiedzieć, co jest nie tak. <?php /* Nazwa szablonu: sliderpage */?> <?php get_header(); ?>
 <?php //get_sidebars('left'); ?>

 <?php $myslider=new WP_query('showposts=5&cat=13'); //var_dump($myslider); if($myslider->have_posts()): while ($myslider->have_posts()) : $myslider->the_post(); ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"> <img src="<?php echo $featured_image_url [0]; ?>" alt= "" title="<?php the_title(); ?>" />  <?php endwhile; endif; ?> <?php wp_reset_query(); ?>

 <?php get_sidebars('right'); ?>
 <?php get_footer(); ?>


title: Dlaczego mój widżet psuje inne widżety?

text:
Więc ten widżet, który stworzyłem, zabija wszystkie inne widżety zarejestrowane na tym samym pasku bocznym. Oznacza to, że po tym widżecie nic się nie renderuje. Żadne inne znaczniki widżetów nie trafiają do DOM. Po wielu godzinach wyrywania włosów odkryłem, że winowajca ma coś wspólnego z metodą get_posts znalezioną w _get_featured_posts(). To tak, jakby wywołanie tej metody zatrzymało wszystkie inne przetwarzanie widżetów. Oto mój kod widżetu: class Featured_newsroom_posts extends WP_Widget { function __construct() { parent::__construct( 'featured_newsroom_posts', // Base ID __('CUMC: Featured Newsroom Posts', 'text_domain'), // Name array( 'description ' => __( 'Polecane posty do pokazania na stronie głównej newsroomu uporządkowane według daty publikacji.', 'text_domain' ), ) // Args ); } widżet funkcji publicznych( $args, $instance ) { $title = apply_filters( 'widget_title', $instance['title'] ); echo $args['before_widget']; if (! empty( $title )){ echo $args['before_title'] . $tytuł . $args['after_title']; } $featured_posts = $this->_get_featured_posts(); if (!empty($featured_posts)) { $liczba = 1; foreach ($featured_posts as $inner) { echo '
 guid . '"> ' . $inner->tytuł_postu . '
'; if ($liczba === (int)$instancja['liczba']) { przerwa; } $liczba++; } } else { echo 'Nie znaleziono ostatnich postów.'; } echo $args['after_widget']; } public function form( $instance ) { if ( isset( $instance['title'] ) ) { $title = $instance['title']; } else { $title = __( 'Polecane posty', 'text_domain' ); } ?>
 <label for="<?php echo $this->get_field_id( 'tytuł' ); ?>"><?php _e( 'Tytuł:' ); ?> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />

 <label for="<?php echo $this->get_field_id( 'count' ); ?>"><?php _e( 'Liczba postów do wyświetlenia:' ); ?> <select name="<?php echo $this->get_field_name( 'liczba' ); ?>"> <?php for($i = 1; $i <= 8; $i++){ echo '<wartość opcji="'. $i. '"'. ($i === (int)$instance[ 'count' ] ? 'selected' : '' ) . '>' . $i . '</option>'; } ?> </select>
 <?php } public function update( $nowa_instancja, $stara_instancja ) { $instance = array(); $instance['title'] = ( ! empty( $nowa_instance['title'] ) ) ? strip_tags( $nowa_instancja['tytuł'] ): ''; $instancja['liczba'] = $nowa_instancja['liczba']; zwróć $instancję; } funkcja prywatna _get_featured_posts(){ globalna $wpdb; //Pobierz wszystkie identyfikatory bloga $sites = wp_get_sites(array('public' => 1, 'offset' => 1)); $all_posts = tablica(); foreach($sites as $site) { switch_to_blog($site['blog_id']); //Znajdź posty, które są zaznaczone do umieszczenia w newsroomie $posts = get_posts(array('meta_key' => 'list_in_newsroom', 'meta_value' => '1')); if($posts){ $all_posts = array_merge($all_posts, $posts); } } restore_current_blog(); zwróć $all_posts; } } function register_custom_widgets() { register_widget( 'Featured_newsroom_posts' ); } add_action( 'widgets_init', 'register_custom_widgets' ); Każda pomoc byłaby niesamowita! Dziękuję!


title: Porównywanie dat z pola niestandardowego

text: Próbuję porównać daty z pola niestandardowego. Mam je zapisane jako coś w rodzaju "20121125". Jeśli data wygasła, zostanie użyty obraz zastępczy, jeśli nie, zostanie użyta domyślna miniatura. Wszelkie porady są mile widziane. <?php $html = ""; $klucz = get_post_meta($post->ID, 'Należny', prawda); $data = data('ymd'); if ($klucz >= $data) { the_post_thumbnail('medium'); } else { $html .= '<img src="http://exampleimage.com" alt="">'; } return $html; ?>


title: Dodaj pole wyboru do ekranu posta, które dodaje klasę do tytułu

text: Potrzebuję, aby niektóre posty miały inny kolor tytułu niż inne, i pomyślałem, że najwygodniej będzie to osiągnąć za pomocą pewnego rodzaju pola wyboru na ekranie tworzenia/edycji postu. Jak mam dodać pole wyboru, a następnie pobrać wartość w szablonie? Dziękuję


title: Próba wykonania złożonego zapytania dotyczącego pola niestandardowego z zamówieniem przez ustawienie wartości pola

text: Mam dwa niestandardowe pola na posty o wydarzeniach: `event-start` i `event-end`. Kiedy pytam o bieżące wydarzenia, chcę pokazać każdy post, w którym `event-start` LUB `event-end` jest większy lub równy dzisiejszej dacie i chcę je uporządkować według `event -start` (nie domyślna data_poczty). Utworzyłem zapytanie z następującymi parametrami: $args = array( 'post_type' => 'post', 'posts_per_page' => $number, 'meta_query' => array( 'relation' => 'OR', array ( 'key' => 'event-start', 'value' => $today_is, 'type' => 'NUMERIC', 'compare' => '>=' ), array( 'key' => 'event- end', 'value' => $today_is, 'type' => 'NUMERIC', 'compare' => '>=' ) ), 'orderby' => 'meta_value', 'order' => 'ASC', ); Zapytanie otrzymuje poprawne posty, ale problem polega na tym, że nie mogę uruchomić zamówienia. Ten zestaw argumentów uruchamia następujące zapytanie: SELECT SQL_CALC_FOUND_ROWS wp_18_posts.ID FROM wp_18_posts INNER JOIN wp_18_postmeta ON (wp_18_posts.ID = wp_18_postmeta.post_id) INNER JOIN wp_18_postmeta. .post_type = 'post' AND (wp_18_posts.post_status = 'publish' LUB wp_18_posts.post_status = 'private') AND ( (wp_18_postmeta.meta_key = 'event-start' AND CAST(wp_18_postmeta.meta_value=96'1344 > SIGNED) ) LUB (mt1.meta_key = 'event-end' AND CAST(mt1.meta_value AS SIGNED) >= '1344289896') ) GROUP BY wp_18_posts.ID **ORDER BY wp_18_posts.post_date** ASC LIMIT 0, 3 Zwróć uwagę na ZAMÓWIENIE Klauzula BY jest nadal ustawiona na post_date. Jeśli zmienię argumenty zapytania tak, aby używały starego stylu meta_key, a także orderby meta_value wraz z meta_query w nowym stylu: $args = array( 'post_type' => 'post', 'posts_per_page' => $number , 'meta_query' => array( 'relation' => 'LUB', array( 'key' => 'event-start', 'value' => $today_is, 'type' => 'NUMERYCZNE', 'porównaj' => '>=' ), array( 'key' => 'event-end', 'value' => $today_is, 'type' => 'NUMERIC', 'compare' => '>=' ) ), 'orderby' => 'meta_value', 'meta_key' => 'event-start', 'order' => 'ASC', ); Kończę z następującym zapytaniem: SELECT SQL_CALC_FOUND_ROWS wp_18_posts.ID FROM wp_18_posts INNER JOIN wp_18_postmeta ON (wp_18_posts.ID = wp_18_postmeta.post_id) INNER JOIN wp_18_postmeta AS mt_18_1.s1. wp_18_posts.ID = mt2.post_id) GDZIE 1=1 AND wp_18_posts.post_type = 'post' AND (wp_18_posts.post_status = 'publish' OR wp_18_posts.post_status = 'private') AND (wp_18_postmeta.meta_key' = 'Lub' (mt1.meta_key = 'event-start' AND CAST(mt1.meta_value AS SIGNED) >= '1344289518') LUB (mt2.meta_key = 'event-end' AND CAST(mt2.meta_value AS SIGNED) >= '1344289518' ) ) GROUP BY wp_18_posts.ID ORDER BY wp_18_postmeta.meta_value ASC LIMIT 0, 3 Który pobiera wszystkie posty z metakluczem `event-start` niezależnie od daty ustawionej dla tego klucza. Wszelkie pomysły, jak skonfigurować złożone zapytania dotyczące pól niestandardowych i uporządkowania według wartości `event-start` byłyby mile widziane.


title: Dodać widżet nagłówka do motywu dwadzieścia czternaście?

text: Chciałbym dodać widżet do obszaru nagłówka (nad głównym menu) motywu WordPress Twenty Fourteen. Idealnie zmniejszyłoby to rozmiar obrazu nagłówka z pełnej szerokości do połowy, a druga połowa obszaru zawierałaby nowy widżet. Nie znam się dobrze na php, css, java czy innych przydatnych rzeczach, więc im prostsze rozwiązanie, tym lepiej. Przyjrzałem się temu pytaniu, ale dla mnie nie ma ono sensu. Nie byłem w stanie zlokalizować wtyczki, która osiąga ten wynik, ale wtyczka z pewnością byłaby moim preferowanym sposobem na zrobienie tego, ponieważ w razie potrzeby mogę to łatwo zrobić w wielu witrynach. (Zapytałem o to na Webmaster SE - tam też odpowiedź nie miała dla mnie większego sensu.)


title: Lakier + W3 Całkowita pamięć podręczna stron

text: Obecnie mam konfigurację lakieru na moim serwerze. Używam również wtyczki W3 Total Cache, aby przyspieszyć działanie witryny za pośrednictwem CDN. Pytanie: Czy ma sens używanie lakieru, jeśli strony są buforowane i odcinane przez CDN? (Czy to sprawia, że lakier jest zbędny).


title: Pole wielokrotnego wyboru dla taksonomii nie może zapisać wartości

text:
Próbuję utworzyć pole wielokrotnego wyboru dla stron taksonomii, a problem polega na zapisaniu wszystkich wybranych wartości, na przykład jeśli wybiorę kilka elementów w polu zaznacz i zapisze je, zapisze tylko wartość ostatnio wybranego element i zignorować pozostałe, jak mogę zapisać wszystkie wybrane wartości? function books_tax_fields($tag) { $t_id = $tag->term_id; $term_meta = get_option( "taksonomia_$t_id"); print_r($term_meta); ?>
 <ty zakres="wiersz" valign="góra">  <?php _e('Lokalizacja księgarni'); ?> 	  <input type="text" name="term_meta[lokalizacja_księgarni]" id="term_meta[lokalizacja_księgarni]" size="25" style="szerokość:100%;" value="<?php echo $term_meta['book_store_location'] ? $term_meta['book_store_location'] : ''; ?>">
  <?php _e('Książka Adres URL lokalizacji sklepu”); ?>

 <ty zakres="wiersz" valign="top">  <?php _e( „Wybierz swoją ulubioną książkę”); ?> 	  <select name='term_meta[books] ' data-placeholder="Wybierz swoje ulubione książki..." class="books-slkt" multiple style="width:100 %; wysokość:100px;" tabindex="4"> <option value=""></option> <option value="1">Rezerwacja</option> <option value="2">Rezerwacja druga</option> <option value=" 3">Rezerwacja trzecia</option> <option value="4">Rezerwacja czwarta</option> <option value="5">Rezerwacja piąta</option> </select>
 < ?php } function save_extra_books_fields( $term_id ) { if ( isset( $_POST['term_meta'] ) ) { $t_id = $term_id; $term_meta = get_option( "taksonomia_$t_id"); $cat_keys = array_keys($_POST['term_meta']); foreach ($cat_keys as $key){ if (isset($_POST['term_meta'][$key])){ $term_meta[$key] = $_POST['term_meta'][$key]; } } update_option( "taksonomia_$t_id", $term_meta ); } } add_action( 'books_edit_form_fields', 'books_tax_fields', 10, 2); add_action( 'edited_books', 'save_extra_books_fields', 10, 2); A oto wyniki, które otrzymuję Array ( [book_store_location] => [książki[] => 5)


title: Oddziel wartości [Zaawansowane pole niestandardowe] przecinkami

text: Mam niestandardowe pole 'relationship', które pozwala wybrać wiele wartości i wyświetlić je poprzez <?php $post_objects = get_field('field'); if($post_objects!=''){ ?> <?php foreach( $post_objects jako $post): ?> <?php setup_postdata($post); ?> <a href="<?php the_permalink(); ?>"> <?php the_title(); ?>, </a> <?php endforeach; ?> <?php wp_reset_postdata(); ?> Na razie działa to, ale nie jest zbyt ładne, ponieważ zwraca wartości jako „Wartość, Wartość, Wartość”. To, co chciałbym wyprowadzić to... > 1 wartość = "Wartość" > > 2 wartości = "Wartość i wartość" > > 3 lub więcej wartości = "Wartość, wartość i wartość" "


title: Jak dostosować nawigację po stronie do różnych zapytań_postów

text: Pracuję na category.php Na pierwszej stronie chcę pokazać posty w kategorii premium i [kliknięty link kategorii], więc użyłem wpisu z zapytaniem: category__and' => 4208,$cat_id Następnie po kliknięciu DALEJ: pokaże wszystkie posty from [link do klikniętej kategorii] Z tej strony nie wyświetla już innych postów, pokazuje tylko pierwsze 5, w których ustawiono post_per_page. Dowolny pomysł? Twoja pomoc jest bardzo ceniona. Dziękuję


title: automatycznie wygenerowany problem z plikiem robots.txt

text: Ustawiam widoczność witryny w ustawieniach prywatności, aby umożliwić wyszukiwarkom przeglądanie mojej witryny, ale z jakiegoś powodu, kiedy przechodzę do automatycznie wygenerowanego pliku robots.txt, wyświetla się klient użytkownika: * Disallow: przełączanie widoczności witryny po prostu dodaje/usuwa końcowe ukośnik, tj. „Disallow: /” mam 2 powiązane wtyczki „wszystko w jednym narzędziu seo” i „mapy witryn Google xml”, ale wyłączyłem oba te bezskutecznie wszelkie pomysły nikomu .... wiem, jak to obejść za pomocą instrukcji mapa strony, ale próbuję dowiedzieć się, czy jest to zamierzone zachowanie WordPressa, a jeśli tak, dlaczego


title: Automatycznie wykrywaj błędy javascript i ostrzegaj użytkownika motywu

text: To może wydawać się proste, ale tak nie jest :) To, czego chcę i najprawdopodobniej robi wielu programistów motywów (motywy używające javascript / jquery), to ostrzeżenie użytkownika motywu, że jego witryna zawiera błędy javascript. Przynajmniej w moich motywach, w około 95% tych błędów, problem wynika z nieaktualnych/źle napisanych wtyczek. Pozostałe 5% pochodzi z konfliktów między aktualnymi wtyczkami a motywem. Więc moja wiadomość sugerowałaby użytkownikowi sprawdzenie swoich wtyczek jeden po drugim i naprawienie problemów. Znalazłem na to rozwiązanie, ale tylko dla deski rozdzielczej (w moich ustawieniach motywu). Zasadniczo to, co robię, to ładowanie strony głównej wewnątrz iframe i czekanie 5 sekund na funkcję wewnątrz `document.ready()`, aby wysłać mi komunikat "OK". Jeśli tak się nie stanie, wyświetlam błąd (używam postMessage do komunikacji z dokumentem iframe). W każdym razie moje pytanie brzmi, jak mogę to zrobić również z pierwszej strony? Bez użycia pm, ponieważ jest zbyt ciężki (w ustawieniach motywu jest ok, ponieważ jest również używany do poprawek w projektowaniu na żywo) Inne zawodne rozwiązania: * dodaj wiadomość zaraz po `<body>` i ukryj ją za pomocą javascript (z js po wiadomość); problem polega na tym, że po sprawdzeniu mogą pojawić się błędy * dodaj wiadomość w dowolnym miejscu HTML i usuń ją za pomocą jQuery na document.ready; niedopuszczalne, ponieważ użytkownik widzi wiadomość przez 2-3 sekundy, podczas których strona jest ładowana...


title: Jak przenieść postproces do tła

text: Mamy dużą instalację wp, która zawiesza się za każdym razem, gdy edytor kliknie „opublikuj”. Wygląda na to, że winowajcą są uruchomione procesy pingowania, takie jak odbudowanie mapy witryny itp. Czy można przenieść większość tych procesów na drugi plan, aby witryna nie przetrzymywała się, dopóki procesy nie zostaną zakończone?


title: Zmień nazwy klas dynamicznie dodawane do elementów HTML przez wordpress

text:
Jestem nowy w temacie wordpress i pracuję nad motywem, który wykorzystuje najnowszy Twitter Bootstrap. Oto moje pytanie: WordPress dodaje nazwy klas do elementów HTML na podstawie tego, co się dzieje, tj.:

Kategoria

 Dodano podmenu class do ul, menu id -pozycja-36 i klasy pozycja menu, typ-menu-custom, itd. do pierwszego elementu listy. Twitter Bootstrap ma już zdefiniowane style dla większości z nich. Jak zmienić nazwy klas generowanych przez wordpress? Czuję, że byłoby to bardziej uciążliwe i nieodpowiednie dla aktualizacji, aby zmienić nazwy tych stylów w pliku css bootstrap


title: WordPress TinyMCE Dodaj przycisk do edytora trybu pełnoekranowego

text: Stworzyłem przycisk (o nazwie „cytat”) w trybie normalnym edytora postów WordPress (TinyMCE) i udało mi się dodać do niego pewną funkcjonalność. Pytanie brzmi, jak sprawić, by ten przycisk pojawił się również w „edytorze trybu pełnoekranowego” (znanym również jako tryb pisania bez rozpraszania uwagi). functions.php:- add_action('init', 'add_button'); function add_button() { if ( current_user_can('edit_posts') && current_user_can('edit_pages')) { add_filter('mce_external_plugins', 'add_plugin'); add_filter('mce_buttons_3', 'register_button'); } } function register_button($buttons) { array_push($przyciski, "cytat"); zwróć $przyciski; } function add_plugin($plugin_array) { $plugin_array['quote'] = get_bloginfo('template_url').'/js/customcodes.js'; return $tablica_wtyczek; } Poszukałem w Google i stwierdziłem, że być może będę musiał dodać jakiś filtr. WordPress odfiltrowuje przyciski w trybie pełnym, więc muszę ponownie dodać przycisk do tablicy $buttons. Wierzę, że jestem do tego całkiem blisko.


title: Sortuj w get_posts

text:
Stworzyłem niestandardowy szablon dla klienta. Będzie to wielojęzyczna konfiguracja witryny w instalacji wielostanowiskowej. Jak widać pod każdą literą kategorii, posty zaczynają się w kolejności alfabetycznej, ale „M” i „O” są nie do zniesienia. Jeśli klikniesz na te kategorie, używając paska alfabetu u góry, te posty są w porządku alfabetycznym. Obie strony używają tego samego kodu, więc nie mam pojęcia, co robię źle. Mam wrażenie, że mam gdzieś konflikt zapytań, ale nie mogę go znaleźć. Oto kod, który dokonuje sortowania:
 <?php $newags = array( 'child_of' => $catID, 'order' => 'ASC' ); $kategorie = get_categories($newargs); foreach ($categories as $category) { echo '
'.$category->nazwa.'
'; echo '
'; $titleArgs = array( 'cat' => $category->term_id, 'order_by' => 'title', 'order' => 'ASC' ); foreach (get_posts($titleArgs) as $post) { setup_postdata( $post ); echo '
ID).'">'.get_the_title().'
'; } wp_reset_postdata(); echo '
'; } ?>
 Nie jestem pewien implementacji `setup_postdata($post)`, chociaż użyłem tego jako szablonu. Nie jestem również pewien, czy poprawnie zaimplementowałem `wp_reset_postdata()`. Czy ktoś ma jakieś pomysły?


title: Bootstrap.css nakłada się style.css w niestandardowym motywie wordpress

text: Podczas tworzenia niestandardowego motywu napotkałem jeden problem http://templategraphy.com/wp-demo/landro/ lookwise nie wygląda tak dobrze, ponieważ nie obsługuje style.css Domyślnie pokazuje wszystkie swoje właściwości css z bootstrap.min.css . Chcę, aby motyw wyglądał dobrze jak ten html http://templategraphy.com/demo/landro/ co powinienem zrobić, aby motyw wziął wszystkie swoje właściwości css z style.css. Z góry dziękuję


title: wp_insert_post Tylko tworzy wersję roboczą

text: Kiedy wywołuję wp_insert_post() ze statusem postu, tworzy on tylko posty o statusie „Draft”. Przetestowałem go z wbudowanymi statusami WordPress i moimi niestandardowymi statusami postów. Ale tworzy tylko wpisy robocze, których nie mogę usunąć ani usunąć z WordPressa. Oto mój kod. Proszę pomóż. // Przygotuj się do ocalenia! do_action( 'wpo_frontend_before_save_order', $order_details, $user_details ); $post = array( 'post_title' => $order_details['title'], 'post_author' => get_current_user_id(), 'post_type' => 'wp_order', 'post_status' => 'w toku' ); $identyfikator posta = wp_insert_post( $post ); if ( is_wp_error( $postID ) ) { set_transient( 'wpo_new_order_message_' .get_current_user_id(), __( 'Wystąpił problem podczas rejestracji zamówienia. Spróbuj ponownie później', 'wpo') ); zwrócić; }


title: Pokaż niestandardowe pola komentarzy podczas edycji w admin

text: Używam wtyczki Custom Comment do dodawania niestandardowych pól do moich komentarzy. > Ta wtyczka pozwala zdefiniować więcej pól do komentowania, aby umożliwić odwiedzającym > Dołączanie ich facebooka, twittera i ... w swoich komentarzach Wszystko działa zgodnie z oczekiwaniami. Jednak pola niestandardowe nie pojawiają się, gdy edytuję komentarz po stronie administratora. Obecnie pokazuje tylko domyślne pola - `name`, `email`, `url`, `comment`. Czy istnieje akcja lub filtr, za pomocą którego można wyświetlić niestandardowe pola komentarzy?


title: Mam funkcje we wtyczce Wordpress. Jak sprawić, by dla mnie pracowali?

text: Ten kod jest edytowany, ale pochodzi z tej witryny. Jeśli chcę użyć zdalnej witryny do wstawiania danych za pomocą ostatniej funkcji z łącza URL, jak to zrobić? Mój kod to: <?php /** * Nazwa wtyczki: Lokalizator części Moje części * URI wtyczki: http://www.m1creative.org/ * Opis: Wtyczka do zapisywania i wyświetlania Lokalizatora części Moje wykazy części * Wersja: 1.0 * Autor: Eldred Curwen * URI autora: http://www.m1creative.org * Licencja: GPL2 */ /* Copyright 2014 Eldred Curwen (e-mail : admin@m1creative.org) Ten program jest wolnym oprogramowaniem; możesz go rozpowszechniać i/lub modyfikować zgodnie z warunkami Powszechnej Licencji Publicznej GNU, wersja 2, opublikowanej przez Free Software Foundation. Ten program jest rozpowszechniany w nadziei, że będzie przydatny, ale BEZ ŻADNEJ GWARANCJI; bez dorozumianej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONEGO CELU. Więcej szczegółów znajdziesz w Powszechnej Licencji Publicznej GNU. Wraz z tym programem powinieneś otrzymać kopię Powszechnej Licencji Publicznej GNU; jeśli nie, napisz do Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ /** * Przechowuj nazwę tabeli w $wpdb z poprawnym prefiksem * Prefiks będzie się różnić w zależności od witryny, więc zaczep też na switch_blog * @od 1.0 */ function PL_register_my_parts_table(){ global $wpdb; $wpdb->PL_my_parts = "{$wpdb->prefiks}PL_my_parts"; } add_action( 'init', 'PL_register_my_parts_table',1); add_action( 'switch_blog', 'PL_register_my_parts_table'); /** * Tworzy naszą tabelę * Podłączony do Activate_[plugin] (przez register_activation_hook) * @since 1.0 */ function PL_create_my_parts_table(){ global $wpdb; globalna $charset_collate; require_once (ABSPATH . 'wp-admin/includes/upgrade.php'); //Wywołaj to ręcznie, ponieważ mogliśmy przeoczyć init hook PL_register_my_parts_table(); $sql_create_table = "CREATE TABLE {$wpdb->PL_my_parts} ( my_part_ID bigint(20) unsigned NOT NULL auto_increment, user_ID bigint(20) unsigned NOT NULL domyślnie '0', PL_part_ID bigint(20) NOT NULL domyślnie '0', part_save_date datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (my_part_ID), KEY abc (user_ID) ) $charset_collate; "; dbDelta($sql_create_table); } register_activation_hook(__FILE__,'PL_create_my_parts_table'); function PL_get_log_table_columns(){ return array( 'my_part_ID'=> '%d', 'user_ID'=> '%d', 'activity'=>'%s', 'part_save_date'=>'%s', ); } /** * Wstawia dziennik do bazy danych * *@param $data array Tablica kluczy => wartości par do wstawienia *@return int Identyfikator dziennika utworzonego dziennika aktywności. Lub WP_Error lub false w przypadku niepowodzenia. */ function PL_insert_log( $data=array() ){ global $wpdb; //Ustaw wartości domyślne $data = wp_parse_args($data, array( 'user_ID'=> get_current_user_ID(), 'date'=> current_time('timestamp'), )); //Sprawdź poprawność daty if( !is_float($data['data']) || $data['data'] <= 0 ) return 0; //Konwertuj datę aktywności z lokalnego znacznika czasu na format GMT mysql $data['part_save_date'] = date_i18n( 'Y-m-d H:i:s', $data['data'], true ); //Zainicjuj tablicę formatu kolumny $column_formats = PL_get_log_table_columns(); //Wymuś małe litery w polach $data = array_change_key_case ( $data ); //Kolumny białej listy $data = array_intersect_key($data, $column_formats); //Zmień kolejność $column_formats, aby dopasować kolejność kolumn podaną w $data $data_keys = array_keys($data); $column_formats = array_merge(array_flip($data_keys), $column_formats); $wpdb->insert($wpdb->PL_my_parts, $data, $column_formats); zwróć $wpdb->insert_id; } /** * Aktualizuje dziennik aktywności dostarczonymi danymi * *@param $my_part_ID int Identyfikator dziennika aktywności do aktualizacji *@param $data array Tablica kolumn=>par wartości do aktualizacji *@return bool dziennik został pomyślnie zaktualizowany. */ function PL_update_log( $my_part_ID, $data=array() ){ global $wpdb; //ID dziennika musi być dodatnią liczbą całkowitą $my_part_ID = absint($my_part_ID); if(pusty($my_part_ID) ) zwraca false; //Konwertuj datę aktywności z lokalnego znacznika czasu na format mysql GMT if( isset($data['part_save_date']) ) $data['part_save_date'] = date_i18n( 'Y-m-d H:i:s', $data['date' ], PRAWDA ); //Zainicjuj tablicę formatu kolumny $column_formats = PL_get_log_table_columns(); //Wymuś małe litery w polach $data = array_change_key_case ( $data ); //Kolumny białej listy $data = array_intersect_key($data, $column_formats); //Zmień kolejność $column_formats, aby dopasować kolejność kolumn podaną w $data $data_keys = array_keys($data); $column_formats = array_merge(array_flip($data_keys), $column_formats); if ( false === $wpdb->update($wpdb->PL_my_parts, $data, array('my_part_ID'=>$my_part_ID), $column_formats) ) { return false; } zwróć prawdę; } /** * Pobiera dzienniki aktywności z bazy danych pasujących do $query. * $query to tablica, która może zawierać następujące klucze: * * 'fields' - tablica kolumn do uwzględnienia w zwracanych rolach. Lub „policz”, aby policzyć wiersze. Domyślnie: pusty (wszystkie pola). * 'orderby' - data i godzina, user_ID lub my_part_ID. Domyślnie: data i godzina. * 'order' - asc lub desc * 'user_ID' - identyfikator użytkownika do dopasowania lub tablica identyfikatorów użytkowników * 'since' - znacznik czasu. Zwróć tylko działania po tej dacie. Domyślnie fałsz, bez ograniczeń. * „do” – znacznik czasu. Zwracaj tylko działania do tej daty. Domyślnie fałsz, bez ograniczeń. * *@param $query Zapytanie tablica *@return tablica Tablica pasujących dzienników. Fałsz w przypadku błędu. */ function PL_get_logs( $query=array() ){ global $wpdb; /* Parsowanie wartości domyślnych */ $defaults = array( 'fields'=>array(),'orderby'=>'datetime','order'=>'desc', 'user_ID'=>false, 'since'=> false,'until'=>false,'number'=>10,'offset'=>0 ); $zapytanie = wp_parse_args($zapytanie, $domyślne); /* Utwórz klucz pamięci podręcznej z zapytania */ $cache_key = 'PL_logs:'.md5( serialize($query)); $ cache = wp_cache_get ( $ cache_key ); if ( false !== $cache ) { $cache = apply_filters('PL_get_logs', $cache, $query); zwróć $cache; } ekstrakt($zapytanie); /* Wybór SQL */ //Biała lista dozwolonych pól $allowed_fields = PL_get_log_table_columns(); if( is_array($fields) ){ //Konwertuj pola na małe litery (ponieważ wszystkie nazwy naszych kolumn są pisane małymi literami - zobacz część 1) $fields = array_map('strtolower',$fields); //Wyczyść białą listę $fields = array_intersect($fields, $allowed_fields); }else{ $pola = strtolower($pola); } //Zwróć tylko wybrane pola. Empty jest interpretowane jako wszystko if( empty($fields) ){ $select_sql = "SELECT* FROM {$wpdb->PL_my_parts}"; }elseif( 'count' == $fields ) { $select_sql = "WYBIERZ LICZNIK(*) Z {$wpdb->PL_my_parts}"; }else{ $select_sql = "SELECT ".implode(',',$fields)." FROM {$wpdb->PL_my_parts}"; } /*SQL Join */ //Nie potrzebujemy tego, ale pozwolimy na filtrowanie (patrz 'PL_logs_clauses' ) $join_sql=''; /* SQL Gdzie */ //Zainicjuj WHERE $where_sql = 'WHERE 1=1'; if( !empty($my_part_ID) ) $where_sql .= $wpdb->prepare(' AND my_part_ID=%d', $my_part_ID); if( !empty($user_ID) ){ //Wymuś, aby $user_ID był tablicą if( !is_array( $user_ID) ) $user_ID = array($user_ID); $user_ID = array_map('absint',$user_ID); //Rzuć jako dodatnie liczby całkowite $user_ID__in = implode(',',$user_ID); $where_sql .= " AND user_ID IN($user_ID__in)"; } $od czasu = absint($od czasu); $do czasu = absint($do czasu); if( !empty($since)) $where_sql .= $wpdb->prepare(' AND part_save_date >= %s', date_i18n( 'Y-m-d H:i:s', $since,true)); if( !empty($until) ) $where_sql .= $wpdb->prepare(' AND part_save_date <= %s', date_i18n( 'Y-m-d H:i:s', $until,true)); /* Zamówienie SQL */ //Zamówienie na białej liście $order = strtoupper($order); $zamówienie = ( 'ASC' == $zamówienie ? 'ASC' : 'DESC' ); switch( $orderby ){ case 'my_part_ID': $order_sql = "ORDER BY my_part_ID $order"; przerwanie; case 'user_ID': $order_sql = "ORDER BY user_ID $order"; przerwanie; case 'datetime': $order_sql = "ORDER BY part_save_date $order"; domyślnie: przerwa; } /* Limit SQL */ $offset = absint($offset); //Dodatnia liczba całkowita if( $liczba == -1 ){ $limit_sql = ""; }else{ $liczba = absint($liczba); //Dodatnia liczba całkowita $limit_sql = "LIMIT $przesunięcie, $liczba"; } /* Filtruj SQL */ $pieces = array( 'select_sql', 'join_sql', 'where_sql', 'order_sql', 'limit_sql' ); $klauzule = apply_filters( 'PL_logs_clauses', compact( $pieces ), $query ); foreach ( $sztuk jako $sztuka ) $$sztuka = isset( $klauzule[ $sztuka ] ) ? $klauzule[ $sztuka ] : ''; /* Formularz SQL */ $sql = "$select_sql $where_sql $order_sql $limit_sql"; if( 'count' == $fields ){ return $wpdb->get_var($sql); } /* Wykonaj zapytanie */ $logs = $wpdb->get_results($sql); /* Dodaj do pamięci podręcznej i filtruj */ wp_cache_add( $cache_key, $logs, 24*60*60 ); $logs = apply_filters('PL_get_logs', $logs, $query); zwróć dzienniki $; } /** * Usuwa dziennik aktywności z bazy danych * *@param $my_part_ID int Identyfikator dziennika aktywności do usunięcia *@return bool Czy dziennik został pomyślnie usunięty. */ function PL_delete_log( $my_part_ID ){ global $wpdb; //ID dziennika musi być dodatnią liczbą całkowitą $my_part_ID = absint($my_part_ID); if(pusty($my_part_ID) ) zwraca false; do_action('PL_delete_log',$my_part_ID); $sql = $wpdb->prepare("USUŃ z {$wpdb->PL_my_parts} GDZIE moja_part_ID = %d", $my_part_ID); if( !$wpdb->zapytanie( $sql) ) return false; do_action('PL_deleted_log',$my_part_ID); zwróć prawdę; } if ( isset( $_GET['akcja'] ) && $_GET['akcja'] == 'insert') { $user_ID = get_current_user_id(); $PL_part_ID = $_GET["partID"]; PL_insert_log ( array( 'user_ID'=> $user_ID, 'PL_part_ID'=> $PL_part_ID, )); } ?> Jeśli chcę użyć zdalnej witryny do wstawiania danych za pomocą ostatniej funkcji z łącza URL, jak to zrobić? Zrobiłem teraz mój kod wstawiania i znajduje się on w szablonie strony, abym mógł linkować z innej witryny i wstawiać dane, jednak chciałbym spróbować uczynić go bezpieczniejszym. if (isset($wp_query->query_vars['action'])) { if ($wp_query->query_vars['action'] == 'insert') { $user_ID = get_current_user_id(); $PL_part_ID = $wp_query->query_vars['partID']; $part_save_date = data('d.m.y h:i:s'); globalny $wpdb; $wpdb->insert( 'wp_pl_my_parts', array( 'user_ID' => $user_ID, 'PL_part_ID' => $PL_part_ID, 'part_save_date' => $part_save_date ), array( '%d', '%d', ' %s' ) ); } }


title: Najlepszy sposób na uporządkowanie relacji artykułu i wydania dla CPT

text: Mam więc obszar nowej witryny WP, którą tworzę, która ma wymagania dotyczące wydania i artykułów, i nie jestem do końca pewien, jak prawidłowo go ustrukturyzować. Pomyśl o numerze jak o numerze magazynu. Jest wydawany co kilka miesięcy i ma typ sprawy, który musi określać określone pola dla każdego typu sprawy. W numerze znajduje się wiele artykułów. Artykuł może być jednym z kilku typów artykułów i podobnie ma pola oparte na typie artykułu. Artykuł jest przypisany do sprawy. Widzę, że robię to po prostu mając CPT o nazwie Artykuł i mając dla niego szablony, które obsługują różne typy artykułów. Jak w takim razie poradziłbym sobie z problemami i relacjami, jakie mają z artykułami? Ktoś zasugerował po prostu użycie artykułu CPT i określenie dla niego typu problemu, dzięki czemu mogę łatwo nawiązać relację rodzic/dziecko w ramach tego samego CPT, ale nie jestem sprzedany. Jakieś sugestie, jak się do tego zabrać?


title: Jak wywołać funkcję bind w akcjach wordpress lub hookach?

text: Zrobiłem plik klasy w moim folderze wtyczek. Następnie napisałem: class Sample{ function footer_content(){ echo "pokaż dowolne dane"; } } Następnie dodałem funkcję **footer_content** do stopki wordpress za pomocą polecenia **add_action**. Ale nic nie pokazało. może czegoś mi w tym brakuje, bo to nie działa. add_action('wp_footer', przykład::footer_content());


title: Wstaw zakres wewnątrz tytułu widżetu, aby nadać drugi kolor drugiemu słowu

text: Staram się, aby tytuły moich widżetów były dwukolorowe; pierwsze słowo białe, a drugie żółte. Nie mam pojęcia, jak mogę wstawić rozpiętość przed drugim słowem w tytule każdego widżetu, aby móc nadać rozpiętości kolor.


title: Dodaj link Subskrybuj do bloga obok komentarzy

text: Chciałbym dodać link „Zasubskrybuj bloga” w moim szablonie, aby czytelnicy mogli otrzymywać bloga przez e-mail lub przynajmniej RSS. Widziałem wiele wtyczek Wordpress, które używają widżetu paska bocznego, ale chciałbym, aby link znajdował się na dole posta. Wydaje mi się, że posiadanie go tam jest najbardziej sensowne. tak to wygląda jak" Opublikowany w kategorii | 5 komentarzy | Subskrybuj bloga Dziękujemy za wszelką pomoc!