title: Przenoszenie WP Multisite do podkatalogu

text: Po pierwsze, przeczytałem kilka postów na temat tego procesu. Jednak z różnych powodów proces ten pozostaje trudny do wdrożenia lub rozwiązywania problemów z powodu braku nawet abstrakcyjnych przykładów lub być może zbyt abstrakcyjnych. Jest też kilka postów typu „nie można zrobić”, prawie zawsze poprzedzane są zastrzeżeniami „w wersji 3.5, teraz można”, więc to, czy można, pozostaje niejednoznaczne, choć bez wątpienia nietrywialne. ## Podsumowanie: Jak przenieść wordpress multisite (WPMS) z root.com do root/blogs? W tym przykładzie przenosimy WPMS z „root.com” do „root.com/blogs”. Rozumiem, że muszę odpowiednio zaktualizować ścieżki w bazie danych i wp-config.php. Wygląda na to, że być może będę musiał również zaktualizować .htaccess? Jestem również świadomy problemu z serializacją z aktualizacjami zapytań wyszukiwania/zamień i mysql. Mam WPMS, który zaktualizowałem do wersji 3.5. Znalazłem następujące tabele z informacjami o domenie i ścieżce ## Istniejąca konfiguracja robocza przed przeniesieniem do podkatalogu ### 1. wp_blogs select blog_id, domain, path from wp_blogs; +---------+-------------+--------+ | blog_id | domena | ścieżka | +---------+-------------+--------+ | 1 | root.com | / | | 2 | root.com | /mat/ | +---------+-------------+--------+ ### 2. wp_site wybierz * w wp_site; +----+-------------+------+ | identyfikator | domena | ścieżka | +----+-------------+------+ | 1 | root.com | / | +----+-------------+------+ ### 3. Blog_id odpowiada tabelom wp_#_options, które zawierają: select nazwa_opcji,wartość_opcji z wp_2_options gdzie nazwa_opcji = 'home' lub nazwa_opcji = 'siteurl'; +-----------------+--------------------------+ | nazwa_opcji | wartość_opcji | +-----------------+--------------------------+ | strona główna | http://root.com/matt/ | | siteurl | http://root.com/matt/ | +-----------------+--------------------------+ ### 4. W moim * *wp-config.php** Mam następujące linie specyficzne dla WPMS: define('WP_ALLOW_MULTISITE', true); define( 'WIELOKROTNY', prawda ); define( 'SUBDOMAIN_INSTALL', fałsz); $podstawa = '/'; zdefiniuj( 'DOMAIN_CURRENT_SITE', 'root.com' ); zdefiniuj( 'PATH_CURRENT_SITE', '/' ); zdefiniuj( 'SITE_ID_CURRENT_SITE', 1 ); zdefiniuj( 'BLOG_ID_CURRENT_SITE', 1 ); ### 5. Na koniec, w moim **.htaccess** , mam: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # przesłanych plików RewriteRule ^([_0-9a-zA-Z-] +/)?files/(.+) wp-includes/ms-files.php?file=$2 [L] # dodaj końcowy ukośnik do /wp-admin RewriteRule ^([_0-9a-zA-Z-]+ /)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [LUB] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^[_0-9a-zA -Z-]+/(wp-(content|admin|includes).*) $1 [L] RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L] RewriteRule . index.php [L] ## Aktualizacje wymagane do przeniesienia strony Wydaje mi się, że aby przenieść moją stronę do /blogs , chciałbym: ### 1. Zaktualizuj wp_blogs do mysql> update wp_blogs set domain=concat( domena, '/blogs'), ścieżka=concat(ścieżka, 'blogs/'); wybierz blog_id, domenę, ścieżkę z wp_blogs gdzie blog_id < 3; +---------+-------------+--------------+ | blog_id | domena | ścieżka | +---------+-------------+--------------+ | 1 | root.com | /blogi/ | | 2 | root.com | /blogi/mat/ | +---------+-------------+--------------+ ### 2. Zaktualizuj witrynę wp_site, aby zaktualizować witrynę wp_site ustaw domenę=concat(domena, '/blogs'), ścieżka=concat(ścieżka, 'blogs/'); wybierz * z wp_site; +----+--------------+-------------+ | identyfikator | domena | ścieżka | +----+--------------+-------------+ | 1 | root.com | /blogi/ | +----+-------------+----------------+ ### 3. wp_#_opcje +-------- -----+--------------------------------+ | nazwa_opcji | wartość_opcji | +--------------+--------------------------------+ | strona główna | http://root.com/blogs/matt/ | | siteurl | http://root.com/blogs/matt/ | +-----------------+--------------------------------+ ## # 4. wp_config.php define('WP_ALLOW_MULTISITE', true); define( 'WIELOKROTNY', prawda ); define( 'SUBDOMAIN_INSTALL', fałsz); $base = '/blogi/'; zdefiniuj( 'DOMAIN_CURRENT_SITE', 'root.com' ); zdefiniuj( 'PATH_CURRENT_SITE', '/blogs/' ); zdefiniuj( 'SITE_ID_CURRENT_SITE', 1 ); zdefiniuj( 'BLOG_ID_CURRENT_SITE', 1 ); **uwaga:** Nie wiem, w jaki sposób ten krok jest odpowiednio aktualizowany ### 5. .htaccess Znalazłem niejasne instrukcje „zaktualizuj .htaccess odpowiednio”, ale nie konkrety. Zaktualizować bazę przepisywania? Które wiersze w .htaccess aktualizuję, gdy przenoszę root.com na root.com/blogs? Brakujące w powyższym procesie będą ścieżki znalezione w postach. Moi mieszkańcy mają do tego celu użyć narzędzia wyszukiwania i wymiany, po tym, jak wprowadzę bardziej fundamentalne aktualizacje; czy się mylę? _Update_ bungeshea sugeruje, że tak, wskażę RewriteBase podkatalog „blogs”, czyli RewriteBase /Blogs Wreszcie, jeśli nie wiesz o http://interconnectit.com/products/search-and-replace-for-wordpress -bazy danych/ powinieneś. To jest świetne.


title: Taksonomia + typ_postu

text: Jestem zagubiony w taksonomii i niestandardowym typie postów. * Mam taksonomię -> autor * Mam custom_post-type -> cytat (cytat po francusku). Chcę tylko wymienić wszystkie cytaty (cytaty) od autora (autor = taksonomia) ze strukturą permalinka taką jak ta: www.myblogname.com/citation/auteur_name/ lub www.myblogname.com/auteur_name/citation/ lub www.myblogname. com/auteur/auteur_name/citation/ (w rzeczywistości najłatwiejszy sposób). jakie są kroki, aby wykonać tę pracę (i jaka jest strona szablonu do zmodyfikowania).


title: Kategoria na podstawie identyfikatora posta

text: Mam następujące: $custom_loop = new WP_Query( array('category_name'=>$category, 'meta_key'=>'name', 'orderby' => 'meta_value', 'order' => 'ASC', 'posts_per_page '=>'-1')); Jak mogę powiedzieć, że if `$post->ID == 1` then `$category == 'first'` i if `$post->ID == 2` then `$category == 'drugi'` I załóżmy, że powinna to być tablica jakiegoś rodzaju, ale po prostu nie mogę zrozumieć, co?


title: tworzenie statycznej strony HTML/JS/PHP

text: muszę utworzyć statyczną stronę, która pozwoli mi kodować HTML/JS/PHP, który łączy się z oddzielnym backendem MYSQL. jak mogę to osiągnąć na stronie wordpress?


title: Ustawianie nazwy adresu URL załącznika

text: Mam problem, który muszę rozwiązać z adresami URL generowanymi dla stron załączników obrazów z metadanymi. Pracuję nad stroną fotograficzną, gdzie poszczególne zdjęcia są wyświetlane jako załączniki do posta, poprzez `attachment.php`. Schemat URL do wyświetlania tych zdjęć wygląda mniej więcej tak: `domena.com/nazwa-projektu/załącznik/nazwa-załącznika`. Jeśli przesyłam obraz bez metadanych, ostatnia część adresu URL załącznika jest pobierana z nazwy pliku obrazu. Tak więc, jeśli obrazem jest `ABCD.jpg`, adres URL to `domena.com/nazwa-projektu/załącznik/ABCD`. Wszystko dobrze. Jeśli jednak obraz _ma_ ma tytuł w metadanych, adres URL jest ustawiony na ten tytuł: `domena.com/nazwa-projektu/załącznik/omg-cool-photo`. Czy możliwe jest posiadanie tytułu metadanych ze zdjęciem, ale także ustawienie adresu URL załącznika jako nazwy pliku ze zdjęciem? Jeśli tak to jak? Rozejrzałem się, ale już nic o tym nie widzę. Przepraszam, jeśli tak jest i przegapiłem to. Każda pomoc otrzymana z wdzięcznością! Dziękuję.


title: Posty bez metapola nie pojawiają się podczas sortowania według metapola

text: Chcę uporządkować moje posty według niestandardowego pola meta „fieldA”. Używam następującego kodu: $query->set('meta_key', 'fieldA); $query->set( 'orderby', 'meta_value_num' ); $query->set( 'zamówienie', 'DESC' ); Zamawianie działa dobrze, ale jest problem. Wszystkie posty, które nie mają meta_klucza „fieldA”, nie są pobierane. Masz pomysł, co jest nie tak? dzięki


title: Jaki jest najskuteczniejszy sposób dodania dodatkowych funkcjonalności tylko dla administratora?

text: Próbuję znaleźć najlepsze podejście do dodania dodatkowej funkcjonalności, która będzie używana tylko przez administratorów za pośrednictwem /wp-admin. Jaki jest najlepszy sposób na wdrożenie, aby nie marnować zasobów. TJ. Instrukcja if każde ładowanie strony lub inne wykonanie kodu na każdym ładowaniu strony dla obszarów nie związanych nawet z pulpitem nawigacyjnym. Dziękuję.


title: Komentarze w kolejności według daty komentarza nie działają

text:
Mam szablon, aby uzyskać odpowiedzi na komentarze do użytkownika i wyświetlić je na statycznej stronie. Działa to dość dobrze, o ile wyświetlane są poprawne komentarze, ale cokolwiek próbuję, nie mogę uzyskać odpowiedzi według daty komentarza, najpierw najnowszego, ale zamiast tego będą one sortować najpierw według komentarza nadrzędnego, a potem według daty. Nie wyświetla się również paginacja. Byłbym bardzo wdzięczny za wszelką pomoc lub wskazówki tutaj! <?php globalny $bieżący_użytkownik; get_currentuserinfo(); define('DEFAULT_COMMENTS_PER_PAGE',6); $strona = (get_query_var('strona')) ? get_query_var('strona') : 1; Limit $ = DEFAULT_COMMENTS_PER_PAGE; $przesunięcie = ($strona * $limit) - $limit; $param = array( 'status'=>'approve', 'user_id' => $current_user->ID, 'comment_parent' => 0 ); $parent_comments = get_comments($param); ?> <?php foreach($parent_comment as $parent_comment) : ?> <?php $parent_comment_id = $parent_comment->ID_komentarza; $comment_args = array( 'orderby' => 'comment_date', 'status' => 'approve', 'parent' => (int)$parent_comment_id, 'offset' => $offset, 'number' => $limit ) ; $comments_query = nowe WP_Comment_Query; $komentarze = $komentarze_zapytanie->zapytanie( $comment_args ); if ( $komentarze ) : ?> <?php foreach($komentarze jako $odpowiedź) : ?>
 <?php echo $odpowiedź->autor_komentarze; ?>zostawił <a href="<?php echo get_comment_link( $reply->comment_ID ); ?>">odpowiedź do twojego <a href="<?php echo get_comment_link( $parent_comment->comment_ID ?>">komentarz
 <?php echo apply_filters('zawartość', $odpowiedź->zawartość_komentarza); ?>

 <?php endforeach; ?> <?php endif; ?> <?php endforeach; ?>
 <?php $pages = ceil(count($comments)/DEFAULT_COMMENTS_PER_PAGE); ?> <?php $args = array( 'base' => 'http://mywordpress.example/user/replies/%#%', 'format' => '?page=%#%', 'total' => $pages, 'current' => $page, 'show_all' => False, 'end_size' => 1, 'mid_size' => 2, 'prev_next' => Prawda, 'prev_text' => __('Previous '), 'next_text' => __('Dalej'), 'typ' => 'zwykły'); echo paginate_links( $args ); ?>


title: get_queried_object() zwraca wartość null w archiwum z datą postu

text:
`get_queried_object()` zwraca wartość `null` w archiwach dat postów (typ strony `is_date()`) i głównej stronie indeksu bloga (typ strony `is_home()`). Czy to celowe, czy tylko przeoczenie? Pisałem otokę wokół get_queried_object(), aby uzyskać tytuł bieżącej strony, bez względu na typ strony, do użytku w motywie. Szybko zdałem sobie sprawę, że zamiast używać `get_query_object()` powinienem po prostu powielić ważne bity z `wp_title()`, ale wcześniej natknąłem się na interesujący problem. Wygląda na to, że `get_queried_object()` i jego funkcja główna `WP_Query->get_queried_object()` zwracają `null` dla kilku typów list, w tym wyjściowej listy postów przez index.php (typ strony `is_home()`) i wysyłaj archiwa według daty (typ strony `is_date()`). Przetestowałem to, wrzucając następujący fragment do kilku plików szablonów w różnych lokalizacjach, zawsze po `get_header()` i przed `the_post()`:
<?php $queried_object = get_queried_object() ; var_dump( $zapytany_obiekt ); ?>
 Działa to doskonale w przypadku archiwów kategorii, archiwów tagów, niestandardowych archiwów taksonomii i niestandardowych archiwów postów. `get_queried_object()` zwraca obiekt zapytania, którego można użyć do wyodrębnienia tytułu strony i innych przydatnych informacji. Jednak nie działa to w archive.php w przypadku standardowych archiwów dat postów i index.php w normalnym widoku listy strony głównej postów na blogu. Zagłębienie się w źródło `WP_Query->get_queried_object()` ujawnia coś raczej nie zaskakującego: nie ma sprawdzania typu strony `is_home()` lub typu strony `is_date()`, więc na tych stronach typu `$this->queried_object = null;` nie jest aktualizowany, a funkcja zwraca `null`. Więc moje pytanie brzmi, czy jest to zamierzona funkcjonalność (np. czy nie powinieneś używać get_queried_object() na tych stronach), ograniczenie techniczne (czy nie ma sensownego obiektu do zwrócenia na tych stronach), czy po prostu przeoczenie implementacji? Czy istnieje nawet odpowiednik niestandardowego obiektu typu post dla wbudowanego typu posta „wpis na blogu” do wyświetlenia?


title: Jak tworzyć edytowalne bloki tekstu na stronie głównej?

text: Tworzę stronę opartą na WordPressie. To nie będzie wyglądać na bloga ani WP. Tylko strona internetowa. Tak więc WP działa jak backend, w którym klient może edytować bloki tekstowe. Pytanie: * Jak mogę umieścić blok tekstu na zaprojektowanym szablonie, który użytkownicy mogą edytować z panelu administratora? Powiedzmy coś takiego: ![homepage wireframe](http://i.stack.imgur.com/i1mku.png) 3 górne bloki (o nas, misja, dlaczego my...), jak je wypełnić z panelu administracyjnego? Lub konkretny tekst z nagłówka lub stopki. Czy muszę utworzyć 3 posty i odwoływać się do nich w szablonie poprzez `get_post($id)`? Jaki jest najlepszy sposób na zrobienie tego?


title: Selectbox Niestandardowy typ postu

text: Używam listy rozwijanej, aby wyświetlić wszystkie niestandardowe typy. Na stronie archiwum niestandardowego typu postu działa dobrze. Jeśli umieszczę dropdownbox na innej stronie, to już nie działa. Pole wyboru jest puste. Jakieś pomysły? <input type="text" class="text-input"placeholder="Nutzungsdauer" value=""name="nutzungsdauer" id="nd"> function.php funkcja afa_type_dropdown( $post_type ) { $posts = get_posts( array ( 'post_type' => $post_type, 'numberposts' => -1 ) ); if( ! $posts ) return; $out = '<select id="afa_select"><option>Anlagegut auswählen</option>'; foreach( $posts as $p ) { $out .= '<option value="' .get_permalink( $p) . '">' . esc_html( $p->post_title ) . '</option>'; } $out .= '</select>'; zwróć $out; }


title: add_filter i zmiana podpisów wyjściowych galerii obrazów

text: Chciałbym zmienić tylko jedno wyjście natywnej Galerii WP (w media.php) Na Smashing Magazine (link) autor radzi zmienić całą funkcję gallery_shortcode. Ale zastanawiałem się, czy można zmienić tylko określone wyjście ($captiontag) Napisałem: add_filter( 'captiontag', 'my_captiontag' ); function my_captiontag( $captiontag ) { $output .= " <{$captiontag} class='wp-caption-text gallery-caption'><p> ". wptexturize($attachment->post_excerpt) . " </p></{$captiontag}>"; } ale to nie działa :(


title: określenie, czy użytkownik jest zalogowany

text: Jestem nowy w wordpressie i staram się myśleć o sesjach i tak dalej. Czytałem w wielu miejscach, że koncepcja sesji nie jest używana w wordpressie. W każdym razie pobrałem wtyczkę my-login-theme. Moje pytanie brzmi: gdy użytkownik przechodzi do jakiegoś zabezpieczonego obszaru, chcę sprawdzić, czy ten użytkownik jest zalogowany, czy nie. Gdy to sprawdzę, chcę uzyskać dane użytkownika, takie jak adres e-mail i imię i nazwisko. Czy to możliwe w wordpressie? Dziękuję


title: post_date a post_modified – jaka jest różnica?

text: Ostatnio zaskoczyło mnie, że pola `post_date` i `post_modified` zawierają te same wartości. Czy `post_date` nie ma przechowywać daty utworzenia posta? I czy nie powinno się zmieniać tylko `post_modified` dla wszystkich przyszłych aktualizacji? Na razie wszystkie zmieniają się jednocześnie przy każdej aktualizacji.


title: Problem z importem (ACF Repeater + WP Ultimate Importer)

text: Próbuję zaimportować trochę danych z mojej bazy danych i jest mnóstwo pól, teraz używam zaawansowanych pól niestandardowych, a konkretnie repeaterów. Musiałem stworzyć własny plik CSV i zrobiłem to, eksportując dane z mojej bazy danych i tworząc strukturę w nadziei, że importer rozpozna go za pomocą nawiasów i nawiasów kwadratowych. Który przykład mogę pokazać tutaj: http://pastebin.com/ZCic7rG2 Aby wyjaśnić pastebin, na górze możesz zobaczyć nazwy tego, co każdy element danych reprezentowałby, gdy wyświetlany jest nawias taki jak `{ }` na górze pliku oznaczałoby to, że jest to repeater (aby ułatwić sobie wybór tego, co jest). Pod tym pokazuje rzeczywiste dane w strukturze. Teraz dzieje się tak, że pokazuje dane poprawnie (u góry), a następnie pokazuje wszystkie inne dane pliku. Próbowałem stworzyć własny CSV w taki sposób, ale to nie zadziałało. Czy jest jakiś inny sposób, w jaki mógłbym to zrobić, czy istnieje jakiś program do tworzenia plików CSV, który obsługuje pliki repeaterów? A może cały pomysł się myli.


title: Problem z wp_enqueue_scripts we wtyczce

text:
Stworzyłem następującą wtyczkę, która wymaga biblioteki js, jednak próby załadowania wtyczki z linią `add_action( 'wp_enqueue_scripts', 'calc_script');` w miejscu nie powiodą się z błędem `nieoczekiwany T_STRING`. <?php /** * Nazwa wtyczki: Kalkulator oszczędności NME * Opis: Widget wyświetlający potencjalne oszczędności związane z instalacją paneli słonecznych. * Wersja: 0.1 * Autor: NME * URI autora: http://nme.com.au */ add_action( 'widgets_init', 'NME_solar_widget' ); funkcja NME_solar_widget() { register_widget( 'NME_solar_widget' ); } class NME_solar_widget extends WP_Widget { function NME_solar_widget() { $widget_ops = array( 'classname' => 'example', 'description' => __('Widżet wyświetlający potencjalne oszczędności z instalacji paneli słonecznych.', 'example' ) ); $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'przykładowy-widget' ); $this->WP_Widget( 'przykład-widget', __('Widżet kalkulatora słonecznego', 'przykład'), $widget_ops, $control_ops ); } widget funkcji( $args, $instance ) { extract( $args ); //Nasze zmienne z ustawień widżetu. $title = apply_filters('widget_title', $instance['title'] ); $nazwa = $instancja['nazwa']; $dzienne_kwh = $instancja['dzienne_kwh']; $contact_text = $instance['contact_text']; $etykieta_kosztu = $instancja['etykieta_kosztu']; $provide_label = $instancja['provid_label']; echo $before_widget; // Wyświetl tytuł widżetu if ($title) echo $before_title. $tytuł . $po_tytule; //Wyświetl nazwę echo '
'; printf( '
' . __('%1$s', 'przykład') '
', $name ); printf( '
' . __('%1$s', 'przykład') ' <input type="text" id="dzienna-średnia" size="8"/>  0 kw
', $daily_kwh ); printf( '
' . __('%1$s', 'przykład') ' <input type="text" id="quarter-average" size="8"/>  0 kw
', $cost_label ); printf( '
<input type="text" id="system-size" size="26"/> ' . __('%1$s', 'example') '
'.'0 USD rocznie!!'.'
', $provide_label ); echo '
'; if ( $contact_text ) printf( '
' .__('%1$s', 'przykład') . '
', $contact_text ); echo $after_widget; } //Aktualizuj aktualizację funkcji widgetu( $nowa_instancja, $stara_instancja ) { $instance = $stara_instancja; //Usuń tagi z tytułu i nazwy, aby usunąć kod HTML $instance['title'] = strip_tags( $new_instance['title'] ); $instance['name'] = strip_tags( $nowa_instance['name'] ); $instance['daily_kwh'] = strip_tags( $nowa_instance['daily_kwh'] ); $instance['contact_text'] = strip_tags( $new_instance['contact_text'] ); $instance['cost_label'] = strip_tags( $nowa_instancja['cost_label'] ); $instance['provide_label'] = strip_tags( $nowa_instancja['provide_label'] ); zwróć $instancję; } function calc_script() { wp_register_script( 'calc', plugins_url( '/solar/calc.js', __FILE__ ), array( 'jquery' ) ); wp_enqueue_script( 'oblicz' ); } add_action( 'wp_enqueue_scripts', 'calc_script' ); function form( $instance ) { //Skonfiguruj kilka domyślnych ustawień widżetu. $defaults = array( 'title' => __('Tu wpisz tekst', 'przykład'), 'nazwa' => __('Tu wpisz tekst', 'przykład'), 'show_info' => true ); $instancja = wp_parse_args( (tablica) $instancja, $defaults ); ?>
 <label for="<?php echo $this->get_field_id( 'tytuł' ); ?>"><?php _e('Nagłówek:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'tytuł' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" style="szerokość:100%;" />

 <label for="<?php echo $this->get_field_id( 'nazwa' ); ?>"><?php _e('Tekst wstępu:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'name' ); ?>" name="<?php echo $this->get_field_name( 'name' ); ?>" value="<?php echo $instance['name']; ?>" style="szerokość:100%;" />

 <label for="<?php echo $this->get_field_id( 'daily_kwh' ); ?>"><?php _e('Daily KWH Text:', 'example'); ?> <input id="<?php echo $this->get_field_id( 'daily_kwh' ); ?>" name="<?php echo $this->get_field_name( 'day_kwh' ); ?>" value="<?php echo $instance['daily_kwh']; ?>" style="szerokość:100%;" />

 <etykieta for="<?php echo $this->get_field_id( 'etykieta_kosztu' ); ?>"><?php _e('Tekst kosztu:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'cost_field' ); ?>" name="<?php echo $this->get_field_name( 'cost_label' ); ?>" value="<?php echo $instance['cost_label']; ?>" style="szerokość:100%;" />

 <label for="<?php echo $this->get_field_id( 'tekst_kontaktu' ); ?>"><?php _e('Tekst kontaktu:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'kontakt_text' ); ?>" name="<?php echo $this->get_field_name( 'contact_text' ); ?>" value="<?php echo $instance['contact_text']; ?>" style="szerokość:100%;" />

 <label for="<?php echo $this->get_field_id( 'dostarcz_etykietę' ); ?>"><?php _e('Podaj tekst:', 'przykład'); ?> <input id="<?php echo $this->get_field_id( 'dostarcz_etykietę' ); ?>" name="<?php echo $this->get_field_name( 'dostarcz_etykietę' ); ?>" value="<?php echo $instance['provide_label']; ?>" style="szerokość:100%;" />
 <?php } } ?>


title: Wyświetl listę postów w wp-admin i posortuj je

text:
to jest moja pierwsza publiczna wtyczka o nazwie Sortuj posty w taksonomii. Za pomocą wtyczki zamierzam wyświetlać zwykłe posty i niestandardowe post_types na stronie edycji kategorii (taksonomii) w wp-admin. Dodatkowo daj możliwość sortowania postów za pomocą wartości numerycznych lub ajax. ## Może to być układ treści: > Gatunek – **Taksonomia** > >> Komedia – **Kategoria** >> >>> 1. Plan ucieczki – **Wpis** >>> >>> 2. Kłamca, kłamca - **Wpis** >>> >>> 3. Last Vegas - **Wpis** >>> >>> >> >> Dramat - **Kategoria** >> >>> 1 Gravity - **Poczta** >>> >>> 2. Plan ucieczki - **Poczta** >>> >>> 3. Więźniowie - **Poczta** >>> >>> _Zwróć uwagę, że film Ucieczka Plan jest wymieniony w różnych taksonomii._ Kiedy edytuję kategorię Komedia, chcę wyświetlić wszystkie posty w kategorii Komedia na tej stronie edycji. Do tej pory odkryłem, że muszę użyć akcji `{$taxonomy}_edit_form` jako haka. Ale nie wiem, jak wyciągnąć taksonomię poza hak bez zakodowania wartości. **Jakieś pomysły?** To jest moja wtyczka sortowania (achd-sort-posts.php): <?php /** * Nazwa wtyczki: Sortuj posty w taksonomii * Wersja: 1.0 * Autor: Anthony H global $wp_query; // $taksonomia = get_query_var( $wp_query->query_vars['taksonomia'] ); // $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taksonomia' ) ); // $taksonomia = $wp_query->taksonomia ; // To jest taksonomia zakodowana na sztywno $taxonomy = 'gatunek'; add_action( "{$taxonomy}_edit_form", 'sort_term_post'); funkcja sort_term_post ($wp_query) { $ekran = get_current_screen(); $args = array ( 'post_type' => "{$screen->post_type}", 'tax_query' => array( array( 'taxonomy' => "{$screen->taksonomy}", 'terms' => " {$wp_query->term_id}" ) ) ); $zapytanie = nowe WP_Query( $args ); // Pętla if ( $query->have_posts() ) { echo '
'; while ( $query->have_posts() ) { $query->the_post(); echo '
' . pobierz_tytuł() . '
'; } echo '
'; } else { echo "Nie znaleziono postów"; } /* Przywróć oryginalne dane posta */ wp_reset_postdata(); } ?> A oto niestandardowy post_type i taksonomia, które zrobiłem (achd- movie.php): <?php /** * Nazwa wtyczki: Typ postu filmowego * Wersja: 1.0 * Autor: Anthony H */ add_action( ' init', 'create_post_type' ); function create_post_type() { register_post_type( 'achd_movie', array( 'labels' => array( 'name' => __( 'Filmy' ), 'singular_name' => __( 'Filmy' ) ), 'public' => true, 'has_archive' => true, 'taxonomies' => array( 'genre' ), 'rewrite' => array('slug' => 'film'), ) ); } add_action( 'init', 'create_my_taxonomies', 0 ); function create_my_taxonomies() { register_taxonomy( 'genre', 'achd_movie', array( 'labels' => array( 'name' => 'Genres', 'add_new_item' => 'Dodaj nowy gatunek', 'new_item_name' => " Nowy gatunek" ), 'show_ui' => true, 'show_tagcloud' => false, 'hierarchical' => true ) ); } add_filter( 'template_include', 'include_template_function', 1 ); function include_template_function( $template_path ) { if ( get_post_type() == 'achd_movie' ) { if ( is_single() ) { // najpierw sprawdza, czy plik istnieje w motywie, // w przeciwnym razie wyświetla plik z wtyczki if ( $ plik_motywu = znajdź_szablon( array ( 'single-achd_movie.php' ) ) ) ) { $ ścieżka_tematu = $ plik_motywu; } else { $template_path = plugin_dir_path( __FILE__ ). '/single-achd_movie.php'; } } elseif ( is_archive() ) { if ( $ plik_motywu = znajdź_szablon( tablica ( 'archive-achd_movie.php' )) ) { $ ścieżka_motywu = $plik_motywu; } else { $template_path = plugin_dir_path( __FILE__ ). '/archiwum-achd_movie.php'; } } } return $ ścieżka_szablonu; flush_rewrite_rules(); } ?> ## Mój problem Nie mogę wysłać taksonomii do haka akcji. Bez zakodowania. Jak mogę go odzyskać? Jakieś pomysły? ## Mój cel końcowy Stworzenie wtyczki, która będzie wyświetlać posty na stronie edycji kategorii i mieć możliwość sortowania postów dla tej kategorii. Może z małym obszarem tekstowym, a później z ajaxem. Sortowanie jest zależne od kategorii, więc jeśli post istnieje w dwóch kategoriach, może mieć różne sortowanie w każdej kategorii. Chodzi o to, aby dodać kolumnę o nazwie „**term_post_order**” do tabeli „**wp_term_relationships**” w bazie danych wordpress lub użyć już istniejącego „**term_order**”, ale wydaje się, że kolumna jest już używana do niektóre inne funkcje. Czy istnieje jakaś istniejąca funkcja do pobierania danych z **wp_term_relationshoips** ?


title: Zapytanie o niestandardowy typ posta według pola daty działa tylko wtedy, gdy dwa posty pasują do zapytania

text: Cześć Próbuję wysłać zapytanie do niestandardowego posta za pomocą zaawansowanego pola niestandardowego, które jest polem daty i tak jest rejestrowane we wtyczce, którą stworzyłem, aby zadbać o wszystkie niewizualne aspekty witryny: fields' => array ( array ( 'key' => 'field_528eb92c26db4', 'label' => __('Podpowiedź dnia'), 'name' => 'tip_of_the_day_date', 'type' => 'date_picker', 'date_format' => 'rrmmdd', 'display_format' => 'dd/mm/rr', 'first_day' => 1, ), ), Teraz mam WP_query na stronie, która ma wyświetlać "wskazówkę dnia" i ma to być pokazanie wskazówek, które mają to pole daty jako dzisiejszą datę. To zapytanie wygląda tak: $today = date('Ymd', strtotime("teraz")); $args = array( 'orderby' => 'post_date', 'post_type' => 'bounty_tip', 'post_status' => 'any', 'posts_per_page' => -1, 'meta_query' => array( array( ' klucz' => 'tip_of_the_day_date', 'value' => $today, 'compare' => '=', 'type' => 'DATE' ) ) ); Problem polega na tym, że to działa, ale TYLKO wtedy, gdy są dwa posty z datą. Przestaje działać, jeśli jest tylko jeden... Jest to dość niezwykłe i wyrywam włosy, próbując to naprawić. Czy ktoś ma jakieś pomysły, dlaczego u licha miałoby się to wydarzyć? Po prostu nie mogę zrozumieć, jak to może działać, aby wybrać dwa (tak wyraźnie, że meta_query jest w porządku), ale nie tylko jedno. Z góry dziękuję, muszę to skończyć, aby się podpisać i to jest moja ostatnia deska ratunku! Twoje zdrowie


title: Nowa pętla WP_Query w admin powoduje problemy

text:
Pracuję nad projektem, w którym mam niestandardowy post typu „firmy” i na tej stronie edycji w adminie Wordpress mam kilka niestandardowych metaboxów, do zapisywania informacji o firmie, godzinach otwarcia, zdjęciach itp. Od wczoraj dodałem meta pole dla potencjalnych klientów, aby wyświetlić posty w niestandardowym wpisie typu „leads” tej firmy. Aby pokazać te posty, używam nowego WP_Query. Posty o potencjalnych klientach są wyświetlane poprawnie, ale metadane z moich godzin otwarcia i zdjęcia zniknęły. Czy ktoś wie, co muszę zmienić w tej pętli, aby użyć jej w administratorze Wordpress. (Próbowałem też `wp_reset_postdata();` na końcu pętli). Oczywiście najpierw rejestruję meta boxy i to są w nich funkcje. // Leady firmy function stn_inner_company_leads( $post ){ $args = array( 'post_type' => 'leads', 'meta_query' => array( array( 'key' => 'page_id', 'value' => $post ->ID, ) ), ); $leads = nowe WP_Query( $args ); if( $leads->have_posts() ) { $licznik = 0; echo '
'; echo '
'; while ( $leads->have_posts() ) { $leads->the_post(); $licznik++; $wyjście = '
'; $output .= '#' . $licznik . '	'; $output .= '' . pobierz_tytuł() . '	'; $output .= '' . pobierz_datę( 'l, F j, Y g:i a' ) . '	'; $wyjście .= '
'; echo $wyjście; } echo '
'; echo '
'; } else { _e( 'Ta firma nie ma potencjalnych klientów.' ); } wp_reset_query(); } To jest moja funkcja godzin otwarcia: // Godziny otwarcia function stn_inner_opening_hours( $post ) { global $firma; echo '
'; echo '<zestaw pól>'; foreach ( $firma['godziny_otwarcia'] as $klucz => $wartość) { $wartość[1] = get_post_meta( $post->ID, $klucz . '_is_open', true ); $wartość[2] = get_post_meta( $post->ID, $klucz . '_open', prawda ); $wartość[3] = get_post_meta( $post->ID, $klucz . '_closed', true ); $output = '
'; $output .= ''; $wyjście .= __( $wartość[0] ) . ':'; $output .= ''; $output .= '
<select name="company_' . $key . '_is_open' . '">'; $output .= '<opcja' . ( $value[1] == 'otwarty' ? 'wybrany' : '' ). ' value="open">' . __( 'Otwarty' ) . '</option>'; $output .= '<opcja' . ( $value[1] == 'zamknięte' ? 'wybrane' : '' ). ' wartość="zamknięte">' . __( 'Zamknięte' ) . '</option>'; $output .= '</select>
'; $wyjście .= '
' . __( 'Z' ) . ':
'; $output .= '
<select name="company_' . $key . '_open' . '">'; for ( $n = strtotime("00:00"), $e = strtotime("23:30"); $n <= $e; $n += 1800 ) { $this_time = date("H:i" , $n); $output .= '<opcja' . ( $value[2] == $this_time ? 'selected' : '' ). ' value="' .esc_attr( $this_time). '" >' . $tym razem . '</option>'; } $output .= '</select>
'; $wyjście .= '
' . __('Do') . ':
'; $output .= '
<select name="company_' . $key . '_closed' . '">'; for ( $n = strtotime("00:00"), $e = strtotime("23:30"); $n <= $e; $n += 1800 ) { $this_time = date("H:i" ,$n); $output .= '<opcja' . ( $wartość[3] == $this_time ? 'selected' : '' ). ' value="' .esc_attr( $this_time). '" >' . $tym razem . '</option>'; } $output .= '</select>
'; $wyjście .= '
'; echo $wyjście; } echo '</fieldset>'; echo '
'; } var_dump($post); daje mi następujący wynik: object(WP_Post)#352 (24) { ["ID"]=> string(5) "44625" ["autor_postu"]=> string(1) "1" ["data_postu"]= > string(19) "2014-03-31 06:54:14" ["post_date_gmt"]=> string(19) "2014-03-31 06:54:14" ["post_treść"]=> string(0 ) "" ["tytuł_postu"]=> string(12) "Salon testowy 2" ["wyciąg_wpisu"]=> string(0) "" ["status_postu"]=> string(7) "opublikuj" ["status_komentarza" ]=> string(4) "otwórz" ["ping_status"]=> string(4) "otwórz" ["post_hasło"]=> string(0) "" ["post_name"]=> string(12) "test -salon-2" ["to_ping"]=> string(0) "" ["pingowane"]=> string(0) "" ["post_modified"]=> string(19) "2014-03-31 06: 56:55" ["post_modified_gmt"]=> string(19) "2014-03-31 06:56:55" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> string(1 ) "0" ["przewodnik"]=> string(59) "http://www.mywebsite.com/?post_type=companies&p=44625" ["menu_order"]=> string(1) "0" ["post_type"]=> string(9) "firmy" ["post_mime_type"]=> string(0) "" ["liczba_komentarzy"]=> string(1) "0" ["filtr"]=> string(4) "edytuj" }


title: get_posts permalink tytułu posta nie działa dla ostatniego elementu w tablicy

text:
Mam niestandardowe pole dołączone do posta, który zawiera następującą tablicę tytułów posta... a:6:{i:0;s:21:"Sernik truskawkowy";i:1;s:15:"Flapjack"; i:2;s:14:"Czekoladowe Babeczki";i:3;s:27:"Obrót Jabłkowy";i:4;s:13:"Czekoladowe Ciastko";i:5;s:13:"Krótkie Ciastka" ;} Następnie wyświetlam tytuły tych postów, wyszukuję powiązane permalinki i powtarzam je za pomocą.... <?php $speakerarray = get_post_meta($post->ID, 'cpt_food', true); $arrlength=liczba($tablica żywności); for($x=0;$x<$arrlength;$x++) { $nazwapożywienia = $tablicapożywienia[$x]; $posts = get_posts(array('name' => $foodname, 'post_type' => 'food')); $post = $posts[0]; $permalink = get_permalink($post->ID); echo ''; echo $nazwapożywienia; echo ''; echo "
"; } ?> Wszystko działa dobrze, z wyjątkiem ostatniego wyniku, powieliłem problem z wieloma elementami w tablicy itp. I to zawsze ostatni, który się nie udaje. Zamiast tego zwraca link bezpośredni do strony, na której aktualnie się znajduję. Czy ktoś może zobaczyć dlaczego?


title: Przekierowanie 301 ze starej struktury adresu URL do nowej

text: Niedawno zaktualizowałem strukturę permalinków strony internetowej z `/%postname%/` do `/%category%/%postname%/`, co oczywiście powoduje błędy 404. Czy zamiast pisać przekierowania 301 dla każdego postu, można to zrobić w bardziej zautomatyzowany sposób w WordPressie? Zasadniczo chcę programowo 301 przekierować identyfikatory URI ze starej struktury permalink do nowej.


title: Usuń menu Custom Post Type dla użytkowników niebędących administratorami.

text: Badałem to cały dzień i nie uzyskałem zbyt wielu wyników. Chcę ograniczyć, kto może zobaczyć moje niestandardowe typy postów, według poziomu użytkownika (lub w inny sposób). Jeśli więc zalogowana osoba nie jest „administratorem”, dodane niestandardowe typy postów nie są dla niej widoczne. Oto część mojego niestandardowego typu postu: add_action('init', 'portfolio_register'); function portfolio_register() { $labels = array( 'name' => _x('Studia przypadków', 'Ogólna nazwa typu postu'), 'singular_name' => _x('Case Study Item', 'Pojedyncza nazwa typu posta') , 'add_new' => _x('Dodaj nowy', 'pozycja portfela'), 'add_new_item' => __('Dodaj nową pozycję studium przypadku'), 'edit_item' => __('Edytuj pozycję studium przypadku'), 'new_item' => __('Nowy element studium przypadku'), 'view_item' => __('Wyświetl element studium przypadku'), 'search_items' => __('Wyszukaj studium przypadku'), 'not_found' => __ ('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, /*'menu_icon' => get_stylesheet_directory_uri( ) '/article16.png',*/ 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title ','redaktor','miniaturka') ); register_post_type( 'portfolio' , $args ); } A oto potencjalne rozwiązania, które znalazłem, a które nie działają przy usuwaniu menu Custom Post Type: function remove_menus() { global $menu; globalny $bieżący_użytkownik; get_currentuserinfo(); if($current_user->user_login != 'admin') { $restricted = array(__('Wpisy'), __('Media'), __('Linki'), __('Strony'), __(' Komentarze'), __('Wygląd'), __('Wtyczki'), __('Użytkownicy'), __('Narzędzia'), __('Ustawienia') ); koniec ($menu); while (prev($menu)){ $wartość = rozbij(' ',$menu[klucz($menu)][0]); if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);} }// end while }// end if } add_action('admin_menu', 'remove_menus'); Powyższe działa, aby usunąć domyślne pozycje menu, ale nie mogłem go usunąć z menu Custom Post Type. Dodatkowo jest on specyficzny dla nazwy użytkownika, co jest w porządku, gdybym mógł dodać do niego więcej niż jednego użytkownika. globalny $user_login; get_currentuserinfo(); if (!current_user_can('update_plugins')) { ....... } Powyższe w ogóle nie działało. Dziękuję.


title: Szybka edycja dostosowywania ekranu

text: **Możliwe duplikowanie:** Jak wyświetlić niestandardowe pole meta na ekranie „Szybka edycja”? Próbuję edytować ekran szybkiej edycji w moim niestandardowym wpisie typu „gość”, aby móc dodać kilka opcji dla moich użytkowników końcowych. Mój niestandardowy typ postu nie wymaga/nie wymaga daty publikacji, hasła do przeglądania, statusu publikacji ani dużych pól taksonomii dla niestandardowych kategorii odwiedzających. Dodałem już niestandardowe pole meta dla rzeczywistej strony edycji, ale ** chciałbym włączyć obsługę szybkiej edycji tych pól meta postu przy jednoczesnym wyłączeniu bieżących opcji szybkiej edycji. ** Znalazłem również post (podłączony w mój możliwy duplikat) na forach wordpress.org, ale nie jestem pewien, co dokładnie robi.


title: Błąd krytyczny w końcowej fazie uruchamiania strony - adresy URL są USZKODZONE!

text:
Stworzyliśmy witrynę wordpress tutaj: wwww.kirschfamilycomputerservices.com/sam/wheresthefairness ^^ Adres URL nie istnieje teraz. Kiedy strona była gotowa, przenieśliśmy bazę danych i motyw na nowego hosta. Sprawa jest dziwna i naprawdę krytyczna. Dziś wieczorem musimy zaprezentować klientowi witrynę, a żaden z naszych adresów URL nie działa poprawnie. indeks do nowego hosta jest następujący: http://www.advertisingagency.me/wheresthefairness/ Linki tuż pod nagłówkiem po prawej stronie są wywoływane na liście w nagłówkowym pliku PHP i wyglądają tak:
 <?php if ( is_user_logged_in() ) { echo 'Witamy ponownie!'; } else { echo 'Witaj! Nowy w WTF?!'; }; ?> <?php wp_register( ' ' , ' ' , ' ' ); ?>/ <?php wp_loginout( home_url() ); ?> | <a href="<?php bloginfo('template_url'); ?>/new-case">Przedstaw swoją sprawę| <a href="<?php bloginfo('template_url'); ?>/cases">Wyświetl przypadki
 Jedynym plikiem poza katalogiem motywu, który edytowałem podczas projektowania witryny, był plik ogólny plik template.php, w którym zmieniłem link Site Admin, aby wyświetlał się jako "Dashboard" i wskazałem na root/dashboard. Problem polega na tym.. Kiedy wchodzisz na stronę i najeżdżasz na link, pokazuje on prawidłową ścieżkę do danego pliku, jednak przy próbie bezpośredniego przejścia do DOWOLNEJ strony zawsze otrzymujemy ten błąd: > * *Nie znaleziono** > > Żądany adres URL /sam/wheresthefairness/index.php nie został znaleziony na tym > serwerze. Jak myślicie, na czym może polegać problem? Czy to może być gdzieś w samych plikach WP? Czy to brzmi jak błąd bazy danych? Szczerze, nigdy nie spotkałem się z czymś takim. Nigdy nie wskazywałem mojej przeglądarce bardzo konkretnej ścieżki i kazałem mi powiedzieć, że nie może załadować strony, ponieważ próbowała przejść na inną ścieżkę... ** 19.01.2011-16:36 Edytuj, aby dodać:** Ten błąd pojawia się za każdym razem, gdy próbujemy skierować link do posta lub strony. Zasadniczo jedyne strony, które możemy wyświetlić na nowym hoście, to strona indeksowa i wp-admin.


title: Jak przekazać obiekt kategorii do funkcji, gdy is_archive() ma wartość true?

text: Poniższa funkcja jest zwykle używana w pętli kategorii w celu zwrócenia opisu każdej kategorii. Próbuję go użyć do zwrócenia opisu poszczególnych kategorii podczas przeglądania strony docelowej kategorii (mojawitryna/kategoria/jakaśkategoria). Jak przekazać równoważny obiekt reprezentujący kategorię? W header.php if(is_archive()) { //pobierz opis kategorii echo get_cat_desc(get_query_var( 'kategoria' )) } W functions.php funkcja get_cat_desc($kategoria){ $the_description = strip_tags($category->description) ; if(strlen($opis) > 200 ) return SUBSTR( $opis,0,STRPOS( $opis,".",200)+1); w przeciwnym razie zwróć $the_description; } Oto funkcja, w której pomyślnie przekazuję obiekt kategorii do powyższej funkcji... function my_category_index(){ $categories=get_categories('exclude=1&exclude_tree=1'); foreach($kategorie jako $kategoria) {echo ce4_get_cat_desc($kategoria);} }


title: Nie znaleziono kategorii przypisanych do niestandardowego typu postu

text: Oto mój problem: przypisałem niestandardowy typ posta do określonych kategorii. Kiedy szukam tych kategorii, albo przez wyszukiwanie, albo bezpośrednio wpisując adres URL. Jeśli jednak przypiszę normalny typ postu do kategorii, stanie się on możliwy do przeszukiwania i można go wprowadzić bezpośrednio przez adres URL. Myślałem, że mam wszystko w swoim niestandardowym kodzie typu post, ale musiałem coś przeoczyć. Wszelka pomoc byłaby mile widziana: add_action('init', 'create_trainingplan_post_type'); function create_trainingplan_post_type() { register_post_type('trainingplan', array( 'labels' => array( 'name' => 'Plany treningowe', 'singular_name' => 'Plan treningów', 'add_new' => 'Dodaj nowy plan treningowy ', 'add_new_item' => 'Dodaj Nowy Plan Treningowy', 'edit' => 'Edytuj Plany Treningowe', 'edit_item' => 'Edytuj Plan Treningowy', 'new_item' => 'Nowy Plan Treningowy', 'view_item' => 'Wyświetl plany treningowe', 'search_items' => 'Wyszukaj plany treningowe', 'not_found' => 'Nie znaleziono planów treningowych', 'not_found_in_trash' => 'Nie znaleziono planów treningowych w Koszu' ), 'public' = > true, 'exclude_from_search'=> false, 'rewrite' => array('slug' => 'my-custom-training-plan', 'with_front' => true), 'supports' => array( 'title' , 'fragment', 'redaktor', 'pola niestandardowe', 'poprawki', 'miniaturka', 'autor', ' page-attributes' ), 'taxonomies' => array('category', 'post_tag') // to jest WAŻNE )); flush_rewrite_rules(); } Dziękuję za dotychczasową pomoc, dodałem komentarze do odpowiedzi, którą otrzymałem do tej pory, aby wyjaśnić to w moim pytaniu: @ בניית אתרים Mogę faktycznie wyszukać niestandardowy typ posta i go znaleźć. Chodzi o to, że kategorie, które są przypisane tylko do niestandardowych typów postów, nie mogą być wyszukiwane ani znajdowane. Zasadniczo staram się umożliwić użytkownikowi wyszukiwanie według kategorii, ale kategorie przypisane tylko do niestandardowego typu postu nie pojawiają się. Jeśli o to chodzi, nawet jeśli wpiszę bezpośredni adres URL kategorii, wyświetla się strona błędu: „Przepraszamy, nie możemy znaleźć kategorii, której szukasz pod tym adresem URL. Spróbuj wybrać element menu z powyżej lub z boku tej wiadomości, aby dotrzeć do Ciebie..." @ בניית אתרים Przypisałem kategorie do niestandardowego typu posta, tak jak normalny post. Pisząc post, zaznaczyłem kategorie, które chciałem uwzględnić. W panelu edycji postów potwierdza, że kategorie są przypisane do cpt. Jednak gdy przechodzę do adresu URL kategorii lub szukam postów w tej kategorii, cpt się nie wyświetla. Dzięki jeszcze raz


title: Czy mogę programowo zalogować użytkownika bez hasła?

text: Programowo tworzę użytkowników ręcznie i chcę zalogować się do nowo utworzonego użytkownika. WP ułatwia dostęp do zaszyfrowanego hasła, ale nie do wersji w postaci zwykłego tekstu. Czy istnieje sposób na użycie wp_signon() bez hasła w postaci zwykłego tekstu? Znalazłem jedną osobę, która twierdzi, że zrobiła to tutaj, ale to nie zadziałało dla mnie. DZIĘKUJĘ!


title: Jak dodać filtr do wp_list_categories(), aby linki nofollow?

text:
Jak dodać atrybut rel="nofollow" do moich list widżetów kategorii? Obecnie filtruję wywołanie wp_list_categories za pomocą tego kodu w moim functions.php... function my_wp_list_categories($cat_args){ $cat_args['title_li'] = ''; $cat_args['exclude_tree'] = 1;\ $cat_args['exclude'] = 1; $cat_args['use_desc_for_title'] = 0; return $cat_args; } add_filter('widget_categories_args', 'my_wp_list_categories', 10, 2); Aktualizacja: kiedy próbuję tego... add_filter('wp_list_categories','wp_rel_nofollow'); Moje linki wychodzą z ukośnikami ucieczki...
 Chińska herbata


title: Nowa pętla a widżet

text: Mam więc pasek boczny, na którym mam zamiar wyświetlić wszystkie posty, mógłbym po prostu użyć widżetu. Ale czy warto używać nowej pętli zamiast widżetu, czy preferencyjnie?


title: Błąd krytyczny z motywem

text: Moje pytanie dotyczy motywu o nazwie **kontrola jakości**, który był dostępny w repozytorium wordpress. Programista wtyczki nie jest w tej chwili dostępny i mam nadzieję, że uzyskam tutaj rozwiązanie mojego problemu. Oto błędy i wiele innych zgłasza ten sam błąd na oficjalnej stronie motywu > Catchable fatal error: Obiekt klasy WP_Error nie mógł zostać przekonwertowany na > ciąg w /public_html/wp-content/themes/quality-control/single.php on line > 55 i czasami... > Przechwytujący błąd krytyczny: Obiekt klasy WP_Error nie mógł zostać przekonwertowany na > ciąg w \wp-content \themes\quality-control\inc\templates\loop.php on line > 37 Czy ktoś mógłby mi w tym pomóc? Jestem gotowy, aby dać administratorowi dostęp do mojej witryny w celu zreplikowania błędu **Aktualizacja:** Wersja WordPress, której używam, to 3.1 i wypróbowałem obie wersje motywu „Kontrola jakości” 1.5 i 2.0 . http://ffav.in to adres strony internetowej i są to adresy URL niektórych przykładowych postów z błędami: 1) http:// ffav.in/ticket/test/ 2) http:// ffav.in/ kategoria/bez kategorii/ Dzięki!


title: Jak wyświetlić oceny wtyczek?

text: Dlatego niedawno przesłałem swoją pierwszą wtyczkę i od tego czasu otrzymałem 1 gwiazdkę. Czy jest miejsce na przeglądanie ocen i komentarzy dotyczących mojej wtyczki?


title: Różne nawigacje w menu według kategorii

text:
Witam wszystkich pomocnych ludzi :) Używam samodzielnie zmodyfikowanej wersji motywu 2012 i chciałbym mieć możliwość wyświetlania innego głównego menu nawigacyjnego na podstawie kategorii, którą przeglądam. Po pierwsze, czy istnieje wtyczka do czegoś takiego jak GUI, z którym łatwiej byłoby mi się uporać? Jeśli nie, to zgaduję, że będzie to PHP w pliku header.php? Mam już instrukcje if dla niestandardowych nagłówków na kategorię, więc mogę tutaj dodać dodatkowy kod do przełączania menu. Każda pomoc jest świetna :) Mój istniejący kod menu to:
<?php _e( ' Menu”, „dwadzieścia dwanaście” ); ?>
 <a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Przejdź do treści', 'twentytwelve' ); ?>"><?php _e( ' Przejdź do treści', 'dwadzieścia dwanaście' ); ?> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>  Menu główne nazywa się „Rozmowny” Menu niestandardowe nazywa się „Pirtek” Nie widzę w istniejącym kodzie, co by się zmieniło, chyba że muszę dodać dodatkowe wywołania funkcji na przykład do wp_nav_menu <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' 'menu' => 'Rozmowny') ); ?>


title: Zmiana domeny site_url powoduje zerwanie linków graficznych

text: Używam motywu Responsive od CyberChimps. Przeniosłem instalację Wordpressa na ten sam serwer, zmieniając adres URL z ustawień i zmieniając nazwę folderu z FTP. Wszystko się ładuje, Wp-Admin, CSS, JS, Strony itp. z wyjątkiem kilku obrazów, w tym logo strony. Próbowałem wielu rozwiązań, czyszcząc cache bowser itp., ale nie wyszło. Debugowałem go i kiedy przechodzę do custom.php, pokazuje ten sam stary adres URL dla logo witryny. Czy ktoś może mi powiedzieć w custom.php wiersz 138, skąd dokładnie ładuje się `$section->maybe_render();`? Widzę nawet loga w bibliotece multimediów ze zaktualizowaną domeną. Ale najwyraźniej custom.php albo zbuforowany, albo z jakiegoś innego powodu powiązany ze starą nazwą domeny.. Jakieś sugestie?


title: funkcja is_category()

text: Mam kategorię o nazwie '51m series' (ma id 135). Dlaczego wyrażenie is_category(51) jest prawdziwe na tej stronie kategorii? Myślę, że według Wordpress Codex powinno być fałszywe. Czy to błąd? Wordpress 3.5.2 kod `category.php`: <?php get_header(); ?> <?php if (is_category(array(36, 63, 64, 65, 67))) { get_template_part('kategoria', 'dokumenty'); } elseif (is_category(array(5, 62, 61, 23, 17, 151))) { get_template_part('kategoria', 'ikony'); } elseif (is_category(array(25, 50, 51, 52, 53, 54, 55, 56, 58, 71))) { echo is_category(51); get_template_part('kategoria', 'galeria-maszyna'); } else { get_template_part('kategoria', 'ramka-galerii'); } ?> <?php get_footer(); ?> Seria 51m na żywo Możesz zobaczyć 1 (`is_category(51)`) na stronie.


title: Dodaj treść po get_header

text: Chciałbym dodać zawartość bezpośrednio po `div#main` (koniec `header.php`) i przed `/div#main` (początek `footer.php`). Używam własnego szablonu potomnego (dwudziestu trzynastu), który w tej chwili zawiera tylko `style.css` i `functions.php`. Dodałem następującą zawartość do mojego functions.php function myAddedStuff() { echo "Rzeczy"; } add_action( 'get_header', 'myAddedStuff' ); add_action( 'get_footer', 'myAddedStuff' ); W przypadku stopki działa to dobrze, ponieważ `myAddedStuff()` jest wykonywany przed `get_footer`. Ale dla `get_header` chciałbym wykonać `myAddedStuff()` **później**. Jak mogę to zrobić. Czy powinienem użyć alternatywnego haka? Jak łatwo znaleźć haczyki? Czy w prosty sposób można dodawać zawartość do niektórych poleceń HTML? (np. użyj `div#main` jako "haka").


title: Usuń pliki CSS i JS ze strony głównej Wordpress, aby zwiększyć szybkość strony?

text: W odniesieniu do http://stackoverflow.com/questions/12463304/wordpress-load-plugin-css-js-in-functions-php-w-conditional-tags z odpowiedzią @maiorano84 używam **cforms** , **FancyBox** , Wtyczki **WP Page Numbers** do **Wordpress**. Z punktu widzenia **Page Speed** chcę usunąć CSS i JS tych wtyczek ze wszystkich stron z wyjątkiem strony z pojedynczym postem. Chcę również umieścić skrypty JS w stopce. poniżej znajduje się kod, który próbowałem, ale bez powodzenia. Czy jakieś ciało mi pomogłoby? if ( !is_single() ) { add_action ( 'wp_print_styles', 'my_deregisters', 100 ); add_action( 'wp_print_scripts', 'moje_wyrejestrowania', 100 ); function my_deregisters() { remove_action('wp_head', 'wp_page_numbers_stylesheet'); wp_deregister_style( 'fancybox' ); wp_deregister_script( 'fancybox' ); wp_dequeue_script('fancybox'); wp_dequeue_style('fancybox'); remove_action('wp_print_scripts', 'mfbfw_load'); remove_action ('wp_print_styles', 'mfbfw_css'); remove_action ('wp_head', 'mfbfw_init'); remove_action ('wp_head', 'cforms_style'); }          } w przeciwnym razie {  }


title: Wyskakujący formularz w tabeli cenowej utworzony za pomocą skrótów i formularza kontaktowego-7

text: Mam na stronie tabelę cenową, która jest stworzona za pomocą krótkich kodów i css ~ [kolumna cenowa=4 title="Starter" price="500$" per="opłata jednorazowa" button_url="/#/" button_text=" ZAPYTAJ O PROPOZYCJĘ"] Mam trudności z wyskakującym okienkiem formularza kontaktowego-7 przy użyciu adresu URL do wywołania go na tej stronie. Jak dodać ten formularz do istniejącej konfiguracji krótkiego kodu za pomocą FancyBox w powyższej konfiguracji krótkiego kodu?


title: Całkowita liczba postów wyświetlana nieprawidłowo na liście stron administracyjnych po zmodyfikowaniu zapytania za pomocą haka `pre_get_posts`

text: Użyłem haka `pre_get_posts` i wprowadziłem zmiany w $query, aby wykluczyć stronę z listy stron administracyjnych według identyfikatora, ale całkowita liczba postów wyświetlanych na liście stron administracyjnych to liczba postów, w tym również wykluczony post.


title: Usuń tag meta robots z wp_head

text: Muszę usunąć tylko tę linię `<meta name=robots content="noindex,follow"/>` z `wp_head`, ale nie mogę znaleźć odpowiedniego haka, aby użyć go z `remove_action()`. <meta name=robots content="noindex,follow"/> Zasadniczo to, co chcę osiągnąć, to usunięcie tylko tej linii z nagłówka, ale tylko dla strony wyszukiwania. Więc w tym przypadku użyłbym czegoś podobnego do: if ( is_search() ) { remove_action('wp_head', 'cokolwiek-nazwa-akcji-jest'); }


title: Uzyskujesz dostęp do zmiennej z panelu administracyjnego?

text: Stworzyłem własną stronę administratora w folderze wp-admin za pomocą funkcji add_theme_page(). Jak stamtąd przekazywać zmienne do mojego bloga? Chodzi mi o to, jaki jest najłatwiejszy sposób bez tablic itp. Próbowałem użyć "globalnych", ale nie udało mi się. Wielkie dzięki.


title: Kalendarz wydarzeń używający insert_post_data po save_post i insert_post po post_transition draft_to_schedule

text: OK, podejmuję się przerażającego zadania stworzenia kalendarza wydarzeń dla mojej strony i trochę utknąłem. Jestem otwarty na wszelkie pomysły, ale oto co robię i co chciałbym zrobić. Zakładam, że moim głównym problemem jest kolejność hooków i filtrów, ponieważ czuję, że całkiem dobrze rozumiem to, co chcę zrobić. Poza tym wolę trzymać się zaczepów i filtrów wordpress, a nie bezpośredniej manipulacji bazą danych mysql. Krótko mówiąc: 1. Zapisz pierwsze niestandardowe pole, a następnie zmień bieżącą datę post_date na to niestandardowe pole i zmień post_status na przyszły, w tej kolejności, za każdym razem, gdy post jest zapisywany jako wersja robocza lub przesyłany do recenzji. 2. Weź drugie niestandardowe pole i wstaw nowy post z tym niestandardowym polem jako datą nowego postu i zmień post_status nowego postu na „przyszłość” i skopiuj tytuł, treść do tego nowego postu z oryginalnego postu. (celem jest utworzenie identycznego nowego posta dla każdej daty przesłanej w oryginalnym poście, uczynienie nowych postów potomkami oryginalnego postu i zaplanowanie ich wszystkich jako przyszłych postów) Teraz przejdźmy do długiej wersji. Po pierwsze, mam niestandardowy post_type o nazwie „wydarzenia”. Zarejestrowany do tego mam kilka niestandardowych pól, które dla uproszczenia będziemy nazywać _start_date_one, _end_date_one, _start_date_two, _end_date_two. To, co chciałbym zrobić, to zezwolić na utworzenie wpisu „wydarzenia” i zezwolić na wprowadzanie tych pól, tytułu i treści. Na razie w porządku. Następnie, gdy ktoś kliknie „Zapisz wersję roboczą” lub „Prześlij do sprawdzenia”, chciałbym zmienić bieżącą datę post_date na _start_date_one i zmienić post_status na „przyszłość”. W tej chwili mogę to zrobić dopiero po co najmniej drugim zapisaniu najprawdopodobniej, ponieważ używam add_action ('save_post') do zapisywania niestandardowych pól, a następnie add_filter ('wp_insert_post_data') do aktualizacji bieżących danych posta, które zdaję sobie sprawę poprzez pewne wyszukiwanie śladów, które insert_post_data ma miejsce przed zapisaniem, aby pozwolić mi zaktualizować $data i $postarr o nowe informacje, a następnie zapisać niestandardowe pola, dlatego dzieje się to powyżej. Numer 2 wymieniony powyżej Próbowałem na kilka sposobów, aby wp_insert_post działał, ale udało mi się tylko wstawić oczekujący post bez poprawnych dat i wszystko inne skopiowane. Każda pomoc jest bardzo ceniona.


title: gdzie moje wyjście funkcji z load-* iść?

text: Mam funkcję podpiętą do load-edit.php, która wypisuje zawartość do wydruku: add_action('load-edit.php', array($this, 'generate_bulk_print_content')); public function generate_bulk_print_content() { //check for bulk action & print } Przygotowałem wyzwalacz akcji zbiorczej za pomocą następującego (typowego) hacka: add_action( 'admin_footer-edit.php', array(&$this, 'add_to_bulk_actions')) ; funkcja publiczna add_to_bulk_actions() { global $post_type; if ( 'shop_order' == $post_type ) { ?> <script type="text/javascript"> jQuery(document).ready(function() { jQuery('<option>').val('custact'). text('<?php _e( 'Akcja niestandardowa', 'woocommerce' )?>').appendTo("select[name='action']"); jQuery('<opcja>').val('custact' ).text('<?php _e( 'Niestandardowa akcja', 'woocommerce' )?>').appendTo("select[name='action2']"); }); </script> <?php } } wszystko to działa tak, jak można by się spodziewać, z wyjątkiem faktu, że mogę _tylko_ zobaczyć moją zawartość do wydruku, kiedy wykonam die() lub exit() po zawartości. Jednak chciałbym, aby ta treść wydruku była wyświetlana w grubym polu na stronie administratora, a nie na nowej (w przeciwnym razie pustej) stronie. Kiedy próbuję uzyskać dostęp do zmiennych akcji w innej lokalizacji, nie mogę już uzyskać dostępu do zmiennych akcji. Co się dzieje między moim kliknięciem przycisku akcji a następnym momentem, gdy ponownie jestem na stronie edycji? Gdzie są moje treści drukowane? Czy istnieją inne sposoby wykorzystania istniejących przycisków i być może przeniesienia moich rzeczy do admin-ajax zamiast strony edycji (co jest, jak sądzę, pełnym przeładowaniem)? * * * edit: poszedłem trochę dalej, zdałem sobie sprawę, że prawdopodobnie nie powinienem używać domyślnej akcji przeładowania strony po kliknięciu przycisku, a teraz używam następującego JS: $("#doakcja, #doakcja2" ).click(function (event) { var actionselected = $(this).attr("id").substr(2); if ($('select[name="' + actionselected + '"]').val () == "bulkprint") { event.preventDefault(); var sprawdzone = []; $('tbody th.check-column input[type="pole wyboru"]:checked').each( function() { sprawdzone .push($(this.val()); } ); data = { action: 'bulkprint', orders: checked }; $.post(ajaxurl, data, function (response) { //jak to wyprowadzić do standardowe pudełko grube?});} }); Teraz ostatnim elementem układanki jest umieszczenie mojej odpowiedzi ajaxowej w grubym pudełku. tb_show nie zadziała, ponieważ wymaga to zwykłego linku, podczas gdy chciałbym przekazać dane postu do admin-ajax (zamiast używać argumentów).


title: Zewnętrzne zasady przepisywania

text: Próbuję dodać regułę przepisywania do Wordpressa. Chcę przepisać: „http://www.domain.com/plm_check/var_a/var_b/var_c/”, aby faktycznie użyć pliku z „http://www.domain.com/wp-content/plugins/plm/ webservices/plm_check.php?var_a=...&var_b=...&var_c=..." Zarejestrowałem się tak: /* Rejestracja przepisywania wywołań usług internetowych */ add_action( 'generate_rewrite_rules' , 'register_plm_rewrites') ; function register_plm_rewrites() { // global $wp_rewrite; $wp_rewrite->add_external_rule( '^plm_check/([a-zA-z0-9_]+)/([a-zA-z0-9-]+)/([0-9]+)/?$' , PLM_PLUGIN_URL .'webservices/plm_check.php' ); // Opróżnij reguły $wp_rewrite->flush_rules(); } Zamiast add_external_rule, spróbowałem add_rewrite_rule tak: $wp_rewrite->add_rewrite_rule( '^plm_check/([a-zA-z0-9_]+)/([a-zA-z0-9-]+)/ ([0-9]+)/?$' , PLM_PLUGIN_URL . 'webservices/plm_check.php' , 'top' ); Próbowałem też z i bez $wp_rewrite. Myślę, że problem polega na tym, że Wordpress nie pozwala mi na bezpośredni dostęp do tego pliku jako adresu URL. Na przykład, jeśli po prostu wstawię „http://www.domain.com/wp-content/plugins/plm/webservices/plm_check.php”, przeniesie mnie to do strony 404, mimo że plik faktycznie istnieje. Czy źle korzystam z tych funkcji? Podczepiasz się do niewłaściwego działania? Próbujesz zrobić coś, na co WP nie pozwoli? Dziękuję!


title: Wzrost wydajności konfiguracji relacyjnej bazy danych

text: Nasz zespół pracuje nad trzecią z dużych witryn WP dla klienta i w przeciwieństwie do większości "typowych" konfiguracji WordPress, nasze projekty zazwyczaj doświadczają wielu żądań, ściągania danych i ogólnej zawartości - jeśli widziałeś (i widziałeś) nasze strony, trudno byłoby [słowo] wiedzieć, że to nawet strona WP. Badałem wydajność, szczególnie na poziomie bazy danych, i zaimplementowaliśmy podstawowe buforowanie dla większych zestawów danych. Moje pytanie brzmi - czy zyskalibyśmy dużo na wydajności podejmując pewne kroki w celu ulepszenia bazy danych pod względem struktury? Takie kroki obejmowałyby: * konwersję tabel do InnoDB (domyślnie MyISAM) * ustawienie odpowiednich relacji kluczy obcych, takich jak wp_postmeta.post_id => wp_posts.ID To jedyne, jakie do tej pory wymyśliłem, ale mogą być inne. Pracowałem z różnymi silnikami SQL, ale w żadnym wypadku nie jestem mistrzem optymalizacji na poziomie bazy danych.


title: Jak odfiltrować element iframe z kanału

text: Może się mylę, ale wydaje się, że to pytanie nie zostało wcześniej rozwiązane: w treści posta znajduje się trochę iframe i chcę się pozbyć tego iframe podczas generowania kanałów rss. Aby wygenerować kanały rss, pokazuję pełną treść posta. Zacząłem przyglądać się `strip_tags()`, ale robi on coś zupełnie przeciwnego: rozebrać wszystko, chyba że pożądane tagi. Zastanawiam się, czy jest jakiś haczyk i jakaś wordpressowa forma rozwiązania tego problemu. Wiem, że powinienem zrobić coś takiego: function rss_noiframe($content) { global $post; // tutaj odfiltruj iframe return $content; } add_filter('the_excerpt_rss', 'rss_noiframe'); add_filter('kanał_treści', 'rss_noiframe'); Ale w tym momencie jestem zagubiony. Jakieś pomysły? Na żądanie EAmann, oto przykładowy kod, który nie jest w ogóle modyfikowany (w rzeczywistości nadal pojawia się w kanale): <iframe src="http://somedomain.net/path/to/frame" frameborder="0 " scrolling="nie" width="500" height="375"></iframe>


title: Różne strony profilu według roli

text: Staram się to ustawić tak, aby podczas przeglądania czyjejś strony profilowej widziałeś inny szablon w zależności od ich roli. Tak więc każdy otrzymuje zwykłą stronę „profilową”, ale jeśli jesteś również autorem, otrzymujesz również specjalną stronę „edytora”. Normalnie w Wordpress otrzymujesz... www.mojawitryna.com/autor/person1, ale to czego chcę to... www.mojawitryna.com/profile/person1 www.mojawitryna.com/profile/person2 www.mojawitryna.com/editor /person2 Poniżej znajduje się to, co mam do tej pory w moim pliku functions.php, ale wiersz, który ustawia zmienną $curauth, wydaje się tutaj nie działać. Ale to działa w moim pliku loop.php??? funkcja change_author_permalinks() { global $wp_rewrite; $curauth = (get_query_var('nazwisko_autora')) ? get_user_by('slug', get_query_var('autor_name')) : get_userdata(get_query_var('autor')); var_dump($curauth); if ( !get_user_role( 'subskrybent', $curauth->ID )) { $wp_rewrite->author_base = 'edytor'; } else { $wp_rewrite->author_base = 'profil'; } $wp_rewrite->flush_rules(); } add_action('init','change_author_permalinks');


title: Następne wywołanie Ajax nie działa

text:
Przesyłam formularz za pośrednictwem Ajax: <form id="ajax-form-next" method="post" action=""> <input type="hidden" name="nextPosts" id="nextPosts" value=" <?php echo $postIDs; ?>"/> <input type="ukryte" name="rzeczywistePosty" id="rzeczywistePosty" value="<?php echo $rzeczywistePostIDs; ?>"/> <input type="prześlij "name="next" value="=>"/> </form> W `functions.php`: function theme_name_scripts() { wp_enqueue_script( 'mi-script-ajax',get_bloginfo('stylesheet_directory') '/js /ajax-search.js', array( 'jquery' ) ); wp_localize_script( 'mi-script-ajax', 'MyAjax', array( 'url' => admin_url( 'admin-ajax.php' ) ) ); } add_action( 'wp_enqueue_scripts', 'theme_name_scripts' ); add_action ('wp_ajax_next_posts', 'next_posts_callback'); add_action ('wp_ajax_nopriv_next_posts', 'next_posts_callback'); function next_posts_callback() { global $post; $nextPostIDs = array_map('intval', explode(',', $_POST['cadenaNext'])); $prevPostIDs = preg_match( '/[0-9,]/', $_POST['cadenaPrev'] ) ? $_POST['cadenaPrev'] : ''; $rzeczywistePostIDs = ''; $licznik = 0; $postIDs = ''; foreach ( $nextPostIDs as $key => $value ) { $mypost = get_post( $value ); $licznik++; if( $counter <= 8 ) { $actualPostIDs .= $mypost->ID.','; // Miniatura i tytuł strony. ?> <id artykułu="post-<?php echo $mypost->ID; ?>" <?php echo $mypost->post_class; ?> style="display: inline-block; szerokość: 20%; margines: 3px; padding: 0px; vertical-align: text-top;"> <?php echo '
ID ).'">'.get_the_post_thumbnail( $mypost->ID, 'thumbnail' ).'
'; $audioFiles = get_post_meta($mypost->ID, "pistas-de-audio-mp3", array('output' => 'html')); echo '
'.$audioFiles.'
'; $audioFiles = get_post_meta($mypost->ID, "pistas-de-audio-ogg", array('output' => 'html')); echo '
'.$audioFiles.'
'; add_filter( 'the_title', 'max_title_length', 30); echo '
'; echo pobierz_tytuł( $mypost->ID ); echo '
'; //maksymalna długość artysty $max = 20; //zdefiniuj tutaj maksymalną liczbę znaków $terms = get_the_terms( $mypost->ID, 'Artistas' ); if ( $terms && ! is_wp_error( $terms ) ) : echo '
 '; foreach ( $terms as $term ) { $term_name = $term->name; if( strlen( $term_name ) > $max ) { $term_name = substr( $term_name, 0, $max ). „…”; } echo 'slug, 'Artistas' ).'" title="'.$term->name.'">'.$term_name.'' ; } echo '
'; endif; echo '
'; remove_filter( 'restrict_manage_posts', 'max_taxonomy_length'); usuń_filtr( 'the_title', 'max_title_length'); } else { $postIDs .= $mypost->ID.','; } } echo '
'; //botones z wcześniejszych i wcześniejszych recenzji $actualPostIDs = substr( $actualPostIDs, 0, strlen( $actualPostIDs ) - 1 ); if( $postIDs ) { $postIDs = substr( $postIDs, 0, strlen( $postIDs ) - 1 ); } if( $prevPostIDs ) { $prevPostIDs = substr( $prevPostIDs, 0, strlen( $prevPostIDs ) - 1 ); } if( $postIDs || $prevPostIDs ) { if( $postIDs ) { echo '<form id="ajax-form-next" method="post" action="">'; echo '<input type="ukryte" name="rzeczywistePosty" id="rzeczywistePosty" wartość="' . $rzeczywistePostIDs . '"/>'; echo '<input type="hidden" name="następne wpisy" id="następne wpisy" value="' . $postIDs .'"/>'; echo '<input type="prześlij" name="następny" value="=>"/>'; echo '</form>'; } if( $prevPostIDs ) { echo '<form id="ajax-form-prev" method="post" action="">'; echo '<input type="ukryte" name="rzeczywistePosty" id="rzeczywistePosty" wartość="' . $rzeczywistePostIDs . '"/>'; echo '<input type="ukryte" name="prevPosts" id="prevPosts" value="' . $prevPostIDs .'"/>'; echo '<input type="prześlij" name="prev" value="<="/>'; echo '</form>'; } } die(); } I działa tylko za pierwszym razem. Za drugim razem, gdy przesyłam formularz, nie jest to wysyłanie żądania Ajax. Załadowana jest oryginalna strona. Jakiś pomysł, co się dzieje? (Wiem, że muszę użyć nonces, ale najpierw chcę, żeby to zadziałało) Oto plik `ajax-search.js`: jQuery(document).ready(function($) { var cadenaNext=''; var cadenaPrev =''; $('#ajax-form-next').submit(function(e){ e.preventDefault(); jQuery.post(MyAjax.url, {action : 'next_posts' ,cadenaNext : $('# nextPosts').val(), cadenaPrev : $('#actualPosts').val() }, function(response) { $('#posts_container').hide(1000);setTimeout(function() {$(' #posts_container').html(response).show(1000);}, 1000); }); }); $('#ajax-form-prev').submit(function(e){ e.preventDefault() ;jQuery.post(MyAjax.url, {action : 'next_posts' ,cadenaNext : $('#prevPosts').val(), cadenaPrev : $('#actualPosts').val() }, function(response) { $('#posts_container').hide(1000);setTimeout(function() {$('#posts_container').html(odpowiedź).show(1000);}, 1000); }); }); });


title: Pulpit nawigacyjny Wordpress - Ograniczanie dostępu

text: Jestem nowy w WordPressie i trochę zdezorientowany. Staram się zbudować dla siebie witrynę z ogłoszeniami typu marketplace. NIE buduję tego dla "klienta". Prawdopodobnie użyję hackowania kilku różnych wtyczek, ponieważ moje umiejętności kodowania nie są na równi. Mam nadzieję, że w końcu będę miał wielu użytkowników, którzy będą składać się z kupujących i sprzedających. Moje pytanie dotyczy deski rozdzielczej WP. Kiedy kupujący/sprzedawcy zarejestrują się w mojej witrynie, czy będą mogli zobaczyć pulpit nawigacyjny WP? Wolałbym, aby w ogóle NIE mieli dostępu do pulpitu nawigacyjnego zaplecza, nie mówiąc już o brandowym WP. czy to możliwe? Jeśli tak, jakieś wskazówki, jak można tego dokonać?


title: Jak wyświetlić nazwę konkretnego typu posta w bułce tartej?

text: Mam taką funkcję: function the_breadcrumb() { if (!is_home()) { echo "Start » "; echo ''; bloginfo('nazwa'); echo " » "; if (is_category() || is_single() ) { the_category('title_li='); if (is_single()) { echo " » "; tytuł(); } } elseif (is_page()) { echo the_title(); } elseif (is_single() && $post_type == 'partners') { echo "CZY TO DZIAŁA?"; } } elseif (is_home()) { echo "Start » "; bloginfo('nazwa'); } } Stworzyłem również niestandardowy typ postu o nazwie 'partners'. Jednak mój chlebek nie wyświetla my IS This WORKING TEXT Pomoc doceniana. Alex


title: Problem z query_posts dla niestandardowej taksonomii w opcjach motywu

text: Mam pewne problemy z odpytywaniem danych wyjściowych niestandardowych taksonomii w moich opcjach motywu. Poniżej zamieściłem to, co uważam za niezbędne. Z góry wielkie dzięki za pomoc. // Przeciągnij wszystkie niestandardowe taksonomie do tablicy $options_taxonomies = array(); $taxonomies_terms_obj = get_terms('kategoria_portfolio'); foreach ($taxonomies_terms_obj as $taxonomy) { $options_taxonomies[$taxonomy->term_id] = $taxonomy->name; } // Wybierz wyróżnioną kategorię strony głównej $options[] = array( 'name' => __('Wyróżniona kategoria strony głównej', 'options_framework_theme'), 'desc' => __('Wybierz kategorię do polecania na swojej stronie głównej. ', 'options_framework_theme'), 'id' => 'homepage_feature', 'type' => 'select', 'options' => $options_taxonomies); } // Zapytanie if ( function_exists( 'of_get_option' ) ): query_posts( 'cat=' . $homepage_feature = of_get_option( 'homepage_feature' ). '&posts_per_page=3' );


title: update_option() aktualizuje opcję z pustą wartością?

text: Mam wywołanie update_option() wewnątrz klasy, która edytuje kilka kluczy z przekazanej do niej tablicy options, a następnie zapisuje zaktualizowaną tablicę do bazy danych, nie mam żadnego wyszukanego kodu, funkcja wywołuje tylko `update_option( )` działa tak: update_option( 'moje_opcje', $this->updated_options ); Teraz ta klasa jest inicjowana na stronie administratora: $instance = new My_Class($options_to_update); $instancja->init(); // tutaj wywoływana jest funkcja aktualizująca opcję Rzecz w tym, że `update_option()` zwraca `true` i aktualizuje opcję pustą wartością. również sprawdziłem tablicę tuż przed wywołaniem tej funkcji i nic nie jest złe: print_r( $this->updated_options ); Próbowałem również zaktualizować ciągiem: update_option( 'moje_opcje', 'dowolny ciąg'); Teraz moje pytania to: * Czy robię coś źle? * Czy jest określony czas na wywołanie `update_option()` ? ponieważ mam to w funkcji podłączonej do `admin_init` i działa dobrze. **Aktualizacja:** Odkryłem, że nie działa tylko wtedy, gdy wywoływany jest wewnątrz funkcji wyświetlania `add_menu_page()` z jakiegoś powodu? przekazana wartość to zawsze „null”.


title: Dziedziczne podstrony Nav

text: Próbuję stworzyć automatycznie generowaną nawigację za pomocą stron podrzędnych Wordpress - która pokaże tylko następne strony podrzędne w dół od wybranej (strona przykładowa). Zobaczysz, że mogę go uruchomić za pomocą reguł CSS dla 3 generacji stron, ale potem skończą mi się klasy potomne, więc kiedy dojdzie do stron czwartej generacji, po prostu pokazuje każde dziecko ... prawdopodobnie szukam po prostu próbuję użyć CSS do kontrolowania tego, ale nie mogę znaleźć WordPressa PHP, który to zrobi. Obecnie używam: <ul class="products-sidebar"> <?php global $id; wp_list_pages("głębokość=10&title_li=&dziecko_of=10"); ?> </ul> Czy ktoś ma jakieś pomysły proszę?


title: Paginacja - działa na lokalnym, ale nie na żywo dev!

text:
Czy ktoś może rzucić nieco światła na to, dlaczego poniższe, aby wydrukować numery stron, działa na moim lokalnym serwerze deweloperskim, ale nie na moim serwerze live? Oba serwery działają w tej samej wersji PHP. Moja pętla <?php global $paged; $args = array( 'orderby' => 'post_date', 'posts_per_page' => 5, 'paged' => $paged ); $zapytanie = nowe WP_Query($args); if($query->have_posts()) : while ($query->have_posts()) : $query->the_post(); //zrób coś na koniec; ?> Moja paginacja <?php echo '
 [Pierwszy]'; for($i=1;$i<=$query->max_num_pages;$i++) echo ''.$i.' '; echo 'max_num_pages).'">[Ostatni]
 '; endif; wp_reset_query(); ?> Problem wyraźnie leży w zakresie: for($i=1;$i<=$query->max_num_pages;$i++) Pierwszy i ostatni wydruk dobrze - numery stron nie. Z góry dziękuję **EDYTUJ** Jeśli to zrobię, to działa: for($i=1;$i<=99;$i++) Więc problem jest z: $query->max_num_pages; Jeszcze jakieś myśli?


title: Wyświetlaj własny tekst, gdy komentarze są zamknięte

text: Kiedy zamykam komentarze do posta, wyświetla się komunikat „Komentarze są zamknięte”. Czy istnieje sposób na edycję tego tekstu i pokazanie osobistej notatki zamiast wstępnie skonfigurowanej? Wolałbym zrobić to w sposób „uniwersalny”, co oznacza, że ta sama wiadomość pojawiłaby się nawet po zmianie motywu wordpress.


title: Blur.js z WordPress - umieszczony w kolejce, ale serwer nie znajduje pliku

text: Jak sugeruje tytuł, próbuję uruchomić blur.js na moim motywie WordPress. Zakolejkowałem skrypt w functions.php: function load_oves_methods(){ wp_enqueue_script( 'blur', get_stylesheet_directory_uri() . '/js/blur.js', array('jquery') ); wp_enqueue_script( 'flexcroll', get_stylesheet_directory_uri() . '/js/flexcroll.js', array('jquery') ); } add_action( 'wp_enqueue_scripts', 'load_oves_methods' ); jQuery jest ładowany przed tym. W pliku header.php wywołuję funkcję blur.js jako taką: <script> jQuery(document).ready(function($){ jQuery(".head").blurjs({ source:'body', radius:5, overlay:'', offset:{ x:0, y:0 }, optClass:'', cache:false, cacheKeyPrefix:'blurjs-', draggable:false }); }); </script> Skrypt jest wywoływany po wp_head();. A pliki, o których mowa, są z całą pewnością na serwerze, w moim folderze motywów /js. Błąd, który otrzymuję w konsoli to: „Nie udało się załadować zasobu: serwer odpowiedział ze statusem 404 (Nie znaleziono)” Wcześniej wywoływałem ten skrypt za pomocą tagu w nagłówku i był w stanie znaleźć plik, ale ciągle podrzucał błędy w blur.js i mówił, że nie może znaleźć zmiennej "jQUEry", mimo że skrypty jQuery UI działają dobrze na moim motywie. EDYCJA: Oba skrypty mają teraz dodaną zależność array('jquery'), ale nadal nie ma kości. Sprawdziłem źródło pliku za pomocą przeglądarki i trzykrotnie sprawdziłem wszystkie foldery docelowe - wszystko jest w porządku. Nawiasem mówiąc, moje skrypty jQuery UI działają dobrze, ale ani blur.js, ani flexcroll.js nie działają. Wyłączenie wtyczek również nie przyniosło efektu. Sprawdziłem również uprawnienia do plików i są one ustawione poprawnie.


title: Lokalizowanie ciągu znaków ze znacznikiem html ze słowem wewnątrz tego znacznika

text: Wcześniej przetłumaczyłem z powodzeniem wiele napisów, ale ten przyprawia mnie o ból głowy. Ta część jest używana w moim pliku content-related.php, którego używam do wyświetlania powiązanych postów Oto bieżący ciąg, którego używam `<?php echo 'Kliknij <a href="'.esc_url(get_permalink()).' ">tu</a>, aby przejść i obejrzeć wideo.' ?>` Mój problem w procesie lokalizacji to `<a href="'. esc_url( get_permalink() ). '">tu</a>` część pośrodku. Najlepsze, co mogę wymyślić, to `<?php printf(__('Kliknij %s, aby przejść i obejrzeć wideo.', 'pietergoosen'), '<a href="'. esc_url(get_permalink()) .' ">tu</a>'); ?>` OK, wiem, że mogę po prostu utworzyć zmienną dla znacznika `<a>` i raczej użyć zmiennej w ciągu `printf()` zamiast całego znacznika `<a>`, ale to nie jest teraz, i zrobiono to tylko po to, aby najpierw przetestować wynik. Gdy ciąg w zmienionej kolejności, ciąg jest tłumaczony, z wyjątkiem słowa „tutaj”, które znajduje się wewnątrz znacznika `<a>`. Jak mogę uzyskać ciąg do tłumaczenia słowa „tutaj”. Czytałem gdzieś, myślę, że było to w Kodeksie, że nie jest dobrym pomysłem dzielenie łańcucha na kilka łańcuchów, ponieważ może to powodować problemy w niektórych językach, ponieważ kolejność słów różni się w niektórych językach. Masz więcej propozycji rozwiązania tego problemu?


title: Jakie są wady używania zmiennej globalnej?

text: Jestem nowicjuszem w WordPressie. W moim krótkim kodzie "ostatnich postów" użyłem zmiennej `global $post`, ponieważ funkcja `the_title()` podawała mi tytuł strony, a nie tytuł posta. Nie jestem do końca pewien, ale myślałem, że to z powodu pętli wewnątrz pętli. Niektórzy zaawansowani użytkownicy mówią mi, abym nie używał zmiennej `global`, więc użycie zmiennej `global $post` w moim krótkim kodzie „ostatnich postów” jest dobre, czy nie?


title: Przekierować stronę bloga do najnowszego posta?

text: Jak mogę to zrobić, gdy kliknięty link bloga na pasku nawigacyjnym przekierowuje do najnowszego posta? Wiem, jak wyświetlić tylko najnowszy post na stronie bloga, ale chcę, aby faktycznie przekierowywał się do samej strony posta, ponieważ wyświetlam pełnoekranowy obraz tła wywoływany za pośrednictwem niestandardowego metaboksu na każdej stronie posta. Czy jest możliwe zapytanie PHP i funkcja przekierowania, którą mogę zastosować do szablonu strony bloga, czy jest lepszy sposób? AKTUALIZACJA: poniższy skrypt przekierowujący działa świetnie, ale potrzebuję tylko sposobu na uzyskanie adresu URL najnowszego posta: $URL = "http://www.google.com"; wp_redirect ($URL, 301 ); Wyjście;


title: Dynamicznie twórz pola wyboru dla podanych tytułów postów w WPAlchemy

text: Używam WPAlchemy do tworzenia metaboksów. To, co chcę zrobić, to dynamicznie utworzyć grupę pól wyboru z tytułami postów. Innymi słowy, chcę zastąpić `a`, `b` i `c` zapytaniem o tytuły postów. <?php $items = array('a', 'b', 'c'); while ($mb->have_fields('cb_ex', count($items))) { $item = $items[$mb->get_the_index()]; ?> <input type="pole wyboru" name="<?php $mb->nazwa_pola(); ?>" value="<?php echo $item; ?>"<?php $mb->stan_checkbox($item ); ?>/> <?php echo $item; ?><br/> <?php } ?> Jak mogę to zrobić?


title: Błąd kategorii wtyczek ACF w WordPressie 3,9

text: ostatnio zacząłem używać wtyczki ACF, zauważyłem, że zmienne dla niestandardowych pól, które stworzyłem i których używam w kategoriach, są zapisywane w tabelach 'wp_options' i chociaż robię wszystko dobrze, nie pojawiają się w interfejsie, otrzymuję bool (false ) dla pola, nie wiem, czy ma to coś wspólnego z aktualizacją WordPressa i sposobem, w jaki obsługuje kategorie, ale zauważyłem, że metadane kategorii są przechowywane w tabeli wp_postmeta. Więc teraz nie mogę uzyskać danych do wyświetlenia na froncie, wszystko działa świetnie w zapleczu. Interesujące jest to, że jeśli dodam pole w pierwszym poście tej kategorii (może powinienem wspomnieć, że jest to sekcja niestandardowa, a nie domyślny wpis kategorii, którego używam jako portfolio), wywołanie kategorii zacznie otrzymywać dane, te, które podaję w poście. Czy ktoś mógłby mi pomóc lub zasugerować cokolwiek innego, co muszę sprawdzić, używam WordPressa 3.9 i ACF 4.3.6. Może to być nawet błąd związany z szablonami, ale ponieważ nie jestem zaznajomiony z architekturą WordPressa i nie otrzymałem jeszcze żadnej odpowiedzi od twórców wtyczek, o których pomyślałem, aby zapytać tutaj.


title: Jak uzyskać określony ciąg w tablicy explode?

text: Mam krótki kod, w którym próbuję uzyskać określony ciąg z poniższej tablicy $args. Zapytanie: <?php $args = array( //'post_type' => $posttype, 'post_type' => explode( ', ', $posttype ), ); $mojezapytanie = nowe WP_Query( $args ); ?> Warunkowe: <?php if( $posttype == 'cpt_press' ) : ?> <?php the_content(); ?> <?php jeszcze : ?> <?php the_excerpt(); ?> <?php endif; ?> Shortcode: [myquery posttype='cpt_press'] W powyższym warunku jestem w stanie pobrać wszystkie posty z typem postu "cpt_press", jeśli **nie używam explode**. Powodem, dla którego użyłem explode, jest to, że mogę to zrobić: [myquery posttype='cpt_press, cpt_two, cpt_three, cpt_etc'] Jakaś pomoc? Dzięki wielkie! ZAKTUALIZOWANY BLOK KODU <?php function myshortcode( $params, $content = null ) { global $post; extract( shortcode_atts( array( 'posttype' => '', 'meta_key' => '', 'priority' => '', 'meta_compare' => '', 'layout' => 'rows', 'cols' => 1, 'tag' => '', 'count' => 10, 'orderby' => 'data', 'order' => 'DESC' ), $params ) ); $args = array( 'post_type' => explode( ',', $posttype ), ); $mojezapytanie = nowe WP_Query( $args ); ob_start(); ?> <div class="row"> <?php // Pętla if( $myquery->have_posts() ) : while( $myquery->have_posts() ) : $myquery->the_post(); ?> <?php if( $posttype == 'cpt_press' ): ?> <?php the_content(); ?> <?php jeszcze : ?> <?php the_excerpt(); ?> <?php endif; ?> <?php koniec; endif; wp_reset_postdata(); ?> </div> <?php return ob_get_clean(); } add_shortcode('mojezapytanie', 'mojshortcode');


title: Zdefiniuj / zadeklaruj nowe typy niestandardowe z polami we wtyczce?

text: Chcę opracować wtyczkę za pomocą Podsów, ale chcę utworzyć wszystkie niezbędne niestandardowe typy, pola itp… po aktywacji mojej wtyczki. Czy to możliwe? jakie są dobre praktyki/podejście? moja wtyczka zależałaby od frameworka pods, ale wszystko zostało zrobione w kodzie bez konieczności ręcznego tworzenia niestandardowych typów i pól za pomocą interfejsu administratora.


title: Dodawanie obciążenia do ciała

text: Obecnie próbuję opracować wtyczkę, która osadzi Google Earth Tour w poście / na stronie WP za pomocą krótkiego kodu. Problem, z którym się spotykam, polega na tym, że aby wycieczka mogła się załadować, muszę dodać `onload="init()"` do tagu `<body>`. Mogę modyfikować określony plik szablonu, ale ponieważ jest on przeznaczony do wydania, muszę dodać go dynamicznie za pomocą hooka. Jakieś pomysły?


title: Jak mogę zrobić demo na żywo mojej wtyczki Premium? Czy istnieją zagrożenia bezpieczeństwa?

text: Cieszę się, że mam okazję zadać tutaj moje pierwsze pytanie. Scenariusz jest następujący: Mój zespół i ja wydaliśmy wtyczkę Premium w zeszłym tygodniu. Od tego czasu otrzymaliśmy wiele próśb o Live Demo. Rozważam utworzenie subdomeny na demo.mysite.com i zmodyfikowanie strony logowania administratora, aby wyświetlała nazwę użytkownika i hasło demo. Czy z punktu widzenia bezpieczeństwa wystarczy uruchomić go na osobnej instalacji WordPressa? Czy są funkcje na poziomie administratora, które chcę wyłączyć? Zasadniczo chcę, aby demo było jak najbardziej realistyczne, bez naruszania bezpieczeństwa lub integralności mojej głównej witryny. Wszelkie porady są mile widziane, SethMerrick


title: Losowy obraz tła wyświetlany na stronie internetowej na kliknięcie/ładowanie

text: Bez używania wtyczki chciałbym mieć duży obraz tła zmieniający się przy każdym kliknięciu/ładowaniu (lub później może co godzinę). Stworzyłem więc plik random_img.php i umieściłem kod w pliku header.php. Nie zastanawiaj się nad tym kodem nagłówka! Jest to konieczne, ponieważ niektóre przeglądarki (Safari, Chrome) w przeciwnym razie nie akceptują zmian obrazu tła z powodu buforowania. random_img.php: <?php header("Ostatnia modyfikacja: " .gmdate("D, d M Y H:i:s") . " GMT"); header("Kontrola pamięci podręcznej: brak przechowywania, brak pamięci podręcznej, konieczność ponownego sprawdzenia poprawności"); // HTTP/1.1 header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: brak pamięci podręcznej"); // HTTP/1.0 header("Wygasa: sobota, 26 lipca 1997 05:00:00 GMT"); // Data w przeszłości header('Content-Type: image/jpeg'); $bilder = glob( "../is/images/*.jpg" ); przetasować( $bilder ); $zufall = imagecreatefromjpeg($bilder[0]); imagejpeg($zufall); ?> nagłówek header.php: <?php echo '<style type="text/css"> body {background: url(http://www.xxx.de/wp-content/themes/is/random_img.php ?'.rand().') naprawiono środek bez powtórzeń; -webkit-background-size: okładka; -moz-background-size: okładka; -o-rozmiar-tła: okładka; background-size: cover;} </style>'; ?> Na razie to działa, ale mam kilka problemów/pytań: 1. W tej chwili zadeklarowałem pewną lokalizację dla obrazów za pomocą `$bilder = glob( "../is/images/*.jpg" );` , ale to źle, bo jeszcze raz muszę coś zrobić, czyli wrzucić tam zdjęcia. Zamiast tego chcę użyć określonego formatu/rozmiaru, który zdefiniowałem wcześniej za pomocą `add_image_size( 'hintergrundbild', 1500, 1500 );` w functions.php. Jak to zrobić/podłączyć? 2. Czy istnieje czystszy sposób na zrobienie tego zamiast umieszczania powyższej linii w nagłówku pliku header.php? Mam wrażenie, że coś jest w tym nie tak, ALE z drugiej strony nie mogłem znaleźć rozwiązania problemów z buforowaniem w Safari i Chrome. 3. Zamiast ładowania nowego obrazu KAŻDEGO kliknięcia/załadowania, jak zakodować go tak, aby zmieniał się automatycznie co godzinę? Myślę, że to może być ładniejsze i mniej agresywne. Z góry bardzo dziękuję, chłopaki.


title: Apply_filters, EMBEDS i AJAX nie są przyjaciółmi?

text: Napotkałem problem... Istnieje treść zawierająca link do YouTube > Lorem ipsum bla bla bla http://www.youtube.com/watch?v=nTDNLUzjkpg Moja wtyczka wyświetla tę treść z tym kodem w widoku: <? php echo apply_filters( 'the_content', $data['meta']->start_page_content ); ?> Problem polega na tym, że jeśli otworzysz stronę zwykłą metodą GET przez przeglądarkę - link staje się odtwarzaczem YouTube, ale po załadowaniu tego samego szablonu przez AJAX - wygląda na to, że apply_filters nie działa - na wyjściu dostaję po prostu link, a nie kod odtwarzacza YouTube. Jak mogę to naprawić?


title: Hostuj silnik bloga w mojej witrynie Wordpress

text: Cześć Mam stronę internetową taką jak www.shankpress.com, jest to wordpress v3 i chcę, aby moi użytkownicy mieli blogi hostowane na mojej stronie i mieli adres URL taki jak: blogs.shaknpress.com ... i mogę pokazać, kto ma najwięcej popularny wpis na blogu itp... użytkownicy mogą się swobodnie rejestrować, tworzyć bloga, rozpoczynać blogowanie i tak dalej... Chętnie kupuję rozwiązania, jeśli nie są dostępne żadne darmowe rzeczy...


title: Polecany rozmiar obrazu

text: Jestem w trakcie opracowywania nowego motywu dla mojego bloga i tworzę suwak polecanych treści. Problem, który mam, polega na tym, że Wordpress zmusza obraz do wymiarów, które chcę, aby był. Dokładne wymiary to 494px x 168px. Próbowałem prostego użycia `the_post_thumbnail(array(494, 168));`, ale to nie zadziałało. Próbowałem również dodać niestandardowy rozmiar obrazu do mojego pliku funkcji. Czasami powodowało to uzyskanie prawidłowej wysokości (ale nie zawsze), ale jednorazowo nie zapewniało prawidłowej szerokości. Czy ktoś mógłby mi dać sposób na zmuszenie tego cholernego obrazu do wielkości 494px x 168px?


title: Użyj przetłumaczonych etykiet taksonomii we wtyczce

text: Piszę wtyczkę, która działa z terminami taksonomii. Posiada m.in. możliwość tworzenia nowych terminów. Przypuszczam, że jeśli użytkownicy mają niestandardowe taksonomie, zadbali o skonfigurowanie i tłumaczenie nazw w liczbie pojedynczej i mnogiej. Pytanie brzmi: Jak sformatować komunikaty wtyczek, aby używać przetłumaczonych etykiet dla taksonomii? Muszę wyprowadzić komunikaty takie jak: * „Utworzono 1 kategorię”. * „Dopasowane 2 tagi”. * „Zaktualizowano 5 filmów”. (Przypuśćmy, że „filmy” to niestandardowa taksonomia.) W moim rozumieniu (przetłumaczone) etykiety w liczbie pojedynczej i mnogiej dla taksonomii są dostępne jako `$term_object->labels->singular_name` i `$term_object->labels->name` . Czy prawidłowe jest założenie, że te właściwości zawierają przetłumaczone ciągi? A może konieczne jest owinięcie ich jakąś funkcją i18n? Funkcje `_n()` i `_nx()` zapewniają formy w liczbie pojedynczej i mnogiej, ale ich używanie nie ma sensu. Używałem: $message = sprintf( 'Created %d %s', count($created), count($created) == 1 ? $term_object->labels->singular_name : $term_object->labels-> Nazwa      ); Jaka jest tutaj najlepsza praktyka?


title: Obraz z galerii nie wyświetla się po wyeksportowaniu i zaimportowaniu, jak to naprawić?

text: Próbuję połączyć witryny podrzędne z wieloma witrynami z witryną nadrzędną. Jeden z moich blogów (witryna podrzędna) jest witryną opartą na galerii, a większość postów ma dołączoną galerię mediów wordpress. Wyeksportowałem z witryny podrzędnej za pomocą narzędzia do eksportu wordpress i zaimportowałem za pomocą narzędzia do importu wordpress. Importowanie nie powiodło się wiele razy z powodu przekroczenia limitu czasu ... w końcu pewnego pięknego dnia, który został zaimportowany, przeniosłem wszystkie media od dziecka do rodzica (folder przesyłania) za pomocą panelu c, poprawione adresy URL. Wyświetlany jest cały obraz funkcji, wyświetlany jest NextGen Gallary, ale brakuje zdjęć dołączonych do postu za pomocą galerii multimediów wordpress. Zastanawiam się, czy istnieje sposób na wyeksportowanie szczegółów multimediów i możliwość importowania, aby wszystkie informacje o załącznikach multimedialnych były ponownie aktywne. Inną rzeczą, którą zauważyłem, jest to, że identyfikator postu zmienia się po zaimportowaniu do identyfikatora rodzica, proszę podać rozwiązanie.


title: Jak zmienić kolejność wyświetlania użytkowników w admin?

text: Chciałbym zmienić kolejność wyświetlania użytkowników w admin. W tej chwili wydaje się, że są uporządkowane według nazwy użytkownika. Myślę, że znalazłem właściwe miejsce w wp-admin/users.php, czyli około linii 187: ORDER BY user_login"); Nie jestem w 100% pewien, czy to prawda, ponieważ niewiele wiem o kodzie Czy ktoś może potwierdzić czy jestem we właściwym miejscu i co powinienem zrobić, aby zmienić kolejność.Ponadto czy możliwe jest tylko to, że mogę mieć kolejność rosnącą lub malejącą np. A,B,C,D,E lub E, D,C,B,A?Pomysłem byłoby, gdybym mógł określić kolejność inaczej, na przykład C,A,D,B,E lub podobne.Dzięki


title: Funkcja, która zwraca wartość true, gdy autor ma określoną rolę is_author(admin)?

text: Potrzebuję funkcji, która zwraca wartość true, gdy autor jest administratorem lub redaktorem lub pełni określoną rolę. Nie mogę używać is_single, ponieważ założyłem forum i jest tam milion singli i potrzebuję innego układu TYCH postów (tych pisanych na blogu przez administratorów i redaktorów) niż wpisów na forum


title: Jak ustawić „Tytuł strony” inny niż „Tytuł menu” w wordpressie 3.0.3?

text: Chciałbym, aby strona główna miała tytuł menu „Strona główna” i inny tytuł strony „Co możemy dla Ciebie zrobić”. Jak to zrobić bez wchodzenia w kod. Czy jest jakaś wtyczka, aby to zrobić?


title: Policz widżety określonego typu

text: Jak mogę uzyskać liczbę (liczbę) widżetów tekstowych z paska bocznego? dla np. jeśli upuszczę 4 widżety tekstowe na pasku bocznym, chcę uzyskać ten numer jakoś z innego widżetu


title: Jak osadzić post automatycznie bez konieczności ciągłego zapisywania danych

text: witam kiedy kliknę na utwórz nowy post! [Wordpress](http://i.stack.imgur.com/YLVpE.png) Chcę to automatycznie Osadź Czy jest jakiś sposób żebym mógł to zrobić? Nie muszę więc robić tego ręcznie przez cały czas tworzenia nowych postów. Możesz mi pomóc?


title: Zastąp wygaśnięcie plików cookie w dostosowywaniu motywu

text: Pracuję w sieci Multisite, która ma rozwidlony/niestandardowy formularz rejestracji. W ramach procesu sukcesu rejestracji użytkownik jest automatycznie logowany, otrzymuje hasło itp. Mam to wszystko pomyślnie połączone z `wpmu_activate_signup()`, `wp_signon()` i `wp_redirect($newSiteAdminUrl. ' /wp-admin/customizer.php')`. Niestety, podczas gdy użytkownik jest zalogowany pomyślnie (mogę bez problemu przekierować go do głównego pulpitu), sesja w jakiś sposób natychmiast kończy się i prosi użytkownika o zalogowanie się, gdy już jest. Jakieś pomysły źródła tego zachowania? Część mnie zastanawia się, czy jest to część jakiegoś zachowania, które opiera się na wartości logicznej związanej z „pierwszymi zalogowanymi użytkownikami” i WordPressem, który nalega, by przed wszystkim innym widzieli panel administratora. Zmartwiony nie mam żadnych więcej informacji właśnie teraz, byłbym wdzięczny jeśli ktoś inny ma wgląd! ![zrzut ekranu](http://f.cl.ly/items/0L040K142Q072z3y2a2X/Screen%20Shot%202013-11-10%20at%201.52.27%20AM.png)


title: Błąd krytyczny po zmianach w functions.php, nawet z oryginalnym plikiem

text: Pojawia się komunikat `Błąd krytyczny: nie można ponownie zadeklarować theme_feature_setup()` po zmianie kodu w pliku functions.php. Próbowałem usunąć plik functions.php i przesłać poprzednią wersję, ale nadal otrzymuję ten sam komunikat o błędzie. zdefiniuj( 'WP_DEBUG', prawda ); zdefiniuj ( 'WP_DEBUG_LOG', prawda ); zawarte w pliku config.php. Również NIE jest tworzony plik error.log w wp-content. KOMUNIKAT O BŁĘDZIE: Nie można ponownie zadeklarować bean_feature_setup() (wcześniej zadeklarowanej w htdocs/wp-content/themes/koi-child/functions.php:33) w htdocs/wp-content/themes/koi/functions.php w wierszu 33. Jak mam przystępować?


title: Usuń posty bez kategorii za pomocą SQL

text: Witryna, nad którą pracuję, ma nieskategoryzowaną kategorię „utracone”. Został usunięty i teraz mam tysiące postów bez kategorii. Te posty są stare i trzeba je usunąć. Jak mogę to zrobić z SQL, jeśli nie mam term_ID? (term_ID = NULL). Muszę usunąć posty, meta i wszystko inne związane z tymi postami.


title: Gdzie jest szablon „Wpisy”/„Blog”?

text: Chcę zmodyfikować szablon „Posty”. Ale nie mogę znaleźć jego lokalizacji, uważam, że nie ma to związku z moim tematem. Gdzie to się znajduje? Czy mogę go skopiować i stworzyć identyczny szablon w moim motywie, aby nie zadzierać z oryginałem?


title: Profilowanie wydajności wordpress

text: Przenoszę witrynę Wordpress z hostingu współdzielonego na dedykowany serwer wirtualny w chmurze. Teoretycznie ten drugi powinien być lepszy, jednak przy tych samych danych, wtyczkach i konfiguracji tani hosting współdzielony ma znacznie lepszy czas reakcji. Kiedy robię profilowanie sieciowe za pomocą Chrome, strona indeksu hostingu współdzielonego przechodzi w mniej niż 2 sekundy, a pełny dokument jest ładowany w mniej niż 5 sekund. Nowy serwer wirtualny potrzebuje 7 sekund na dostarczenie kodu HTML strony indeksu i prawie 10 sekund na przesłanie pozostałych zasobów w celu zakończenia ładowania strony. Wydaje się, że gdzieś jest wąskie gardło, którego nie mogę zidentyfikować. Kiedy umieszczam prosty plik PHP robiący coś takiego jak `phpinfo()`, ładuje się on w kilka milisekund, więc nie wydaje się, że jest to problem PHP. Zainstalowałem APC, aby rzekomo poprawić wydajność (bezskutecznie), a zarówno na współdzielonym hostingu, jak i nowym serwerze wirtualnym mam skonfigurowaną pamięć podręczną W3 Total Cache. Wirtualny serwer w chmurze nie jest w ogóle ładowany, procesor 99,3% jest bezczynny, a średnie obciążenie 0,01, jeśli nie mniej przez większość czasu. Pamięć fizyczna również nie jest zużywana (786 Mb z 1 Gb). Kiedy użyłem wtyczki Debug Queries, aby sprawdzić, czy Mysql jest problemem, wydawało mi się, że większość zapytań wraca bardzo szybko i dało to końcowy raport: `Strona wygenerowana w 6.90618s, 94,32% PHP, 5,68% MySQL` Co wydaje się sugerować, że istnieje jest czymś niezwiązanym z bazą danych, co wprowadza opóźnienia. Nie mam pojęcia, co robi to 94%. Czy istnieje sposób, aby skutecznie zrozumieć, co się dzieje w takiej sytuacji?


title: Usunięcie „ceny nie ogłoszonej” w JigoShop

text: Czy możesz mi powiedzieć, jak usunąć **"Cena nie ogłoszona"** ze strony sklepu JigoShop?


title: Czy możesz zarządzać wieloma nazwami domen z jednej sieci wielostanowiskowej WordPress?

text: Moje główne cele * Aby scentralizować wszystkie moje witryny WordPress (różne domeny - różni klienci) w jednym miejscu kontrolowanym przez główny pulpit. Mógł wybrać, która witryna wymaga aktualizacji motywu, wtyczek lub podstawowych plików. * Oszczędność czasu dzięki nieaktualizowaniu i utrzymywaniu każdej witryny pojedynczo. * Tylko jedna główna aktualizacja pliku WordPress wpływająca na resztę. Pytania 1. Czy mogę utworzyć sieć w konfiguracji MultiSite (do tej pory WP v3.7.1), ale NIE opartej na podkatalogach lub subdomenach, ponieważ każda witryna ma swój własny motyw, wtyczkę i nazwę domeny: **Site1.com , na przykład Witryna2.com, Witryna3.com**? 2. Główna witryna nie będzie znajdować się w katalogu „root”, ale będzie znajdować się w /podfolderze, jeśli pytanie nr 1 powyżej jest możliwe do zrealizowania, wszystkie pozostałe witryny będą znajdować się w /subfolder/wp-contents/theme << każdy motyw na stronę w różnych folderach, czy to możliwe? 3. Czy to dobre rozwiązanie z punktu widzenia bezpieczeństwa, ponieważ wydaje się, że wszystkie witryny znajdują się pod jednym dachem? 4. Każdy klient, każda witryna, każda domena ma swój własny ekran logowania i może być w stanie domagać się swoich praw tylko do swojej witryny, co jeśli mają wielu użytkowników, którzy potrzebują logowania, czy zepsuje to z inną witryną klienta w tym moja własna strona główna? 5. Nie widzisz całego obrazu, w jaki sposób wtyczka InfiniteWP może mi pomóc zminimalizować instalację rdzenia WP lub scentralizować wszystkie witryny w jednym miejscu? Wszelkie zalecenia, aby osiągnąć wszystkie moje główne cele, są mile widziane, ponieważ aktualizacja jednej po drugiej jest dość chaotyczna i marnuje miejsce na hostingu, instalując plik podstawowy na każdej stronie.


title: Jeśli typ nośnika .GIF

text: Szukałem sposobu, aby to zrobić, ale wydaje się, że nie mogę nic znaleźć, nawet tutaj. Używam timthumb do zmiany rozmiaru obrazów w moich witrynach. Jak większość z was wie, po zmianie rozmiaru animowanego gifu to już nie będzie działać. Więc potrzebuję sposobu, aby pominąć obraz, jeśli jest to typ pliku .gif. Coś takiego jak <?php if( typegif() ) { ?> <img src="<?php $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID),'full' ); echo $src[0]; ?> " alt="Obraz# <?php the_ID(); ?> "/> <?php } else { ?> <img src="<?php bloginfo( 'template_url' ); ?>/thumbs/timthumb.php? src=<?php $src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'full' );echo $src[0]; ?>&w=280" alt="Numer obrazu <?php the_ID(); ? > "/> <?php } ?> Po dłuższym kopaniu znalazłem ten kod, jednak nie działa. $attachment_mime = wp_check_filetype(wp_get_attachment_url($post->ID) ); if ( $attachment_mime['type'] == 'image/gif') { echo 'to jest gif'; } else { echo 'to nie jest gif'; }


title: Czy używanie switch_to_blog we frontendzie jest złą praktyką?

text: Z Wordpress Codex (chociaż powiązany z tą samą funkcją w WPMU, a nie WP3.0+): http://codex.wordpress.org/WPMU_Functions/switch_to_blog jest napisane: > _Ten przełącznik ma być używany do funkcji wewnętrznych i obszaru administracyjnego. To zbyt kosztowne zapytanie do uruchomienia na interfejsie użytkownika._ na nowej stronie dla tej samej funkcji w WP3+ nie ma takiej wzmianki. Czy zatem używanie switch_to_blog w motywach jest normalną czy złą praktyką? Mam konfigurację wielostanowiskową z 4 blogami i chciałbym często korzystać z tej funkcji, aby przenosić treści z jednego do drugiego.


title: Czy można uzyskać_terms według autora?

text: Otrzymuję warunki ze wszystkich moich postów za pomocą `get_terms`, $tags = get_terms( 'mytags', '&number=5&orderby=date&order=desc&hide_empty=1' ); foreach ( $tags as $tag ) { echo '<a href="'.get_bloginfo('url').'/tags/'.$tag->slug.'">'.$tag->nazwa.'< /a>'; } Czy możliwe jest włączenie get_terms do postów autora? Staram się dodać listę ze wszystkimi terminami (tagami) w szablonie author.php, wielkie dzięki!


title: Testowanie wydajności plików WordPress

text: Chciałbym przetestować wydajność plików PHP w mojej instalacji, aby znaleźć ewentualne wąskie gardła. Używam już wtyczek, takich jak Debug Queries i WPDB Profiler, do oglądania generowanych zapytań SQL, ale chciałbym coś, co pokazuje mi czas wykonania każdego pliku php, aby zidentyfikować, czy jakaś wtyczka nie jest zoptymalizowana. Czy jest do tego jakaś wtyczka?


title: Jak utworzyć link do polecanego obrazu do adresu URL pliku multimedialnego

text: Po przesłaniu obrazu włączyłem funkcję, która automatycznie tworzy post z tym obrazem jako polecanym obrazem. Teraz chcę połączyć ten polecany obraz z adresem URL pliku obrazu/pliku multimedialnego, aby działały na nim efekty lightbox. Ale nie wiesz, jak to zaimplementować? Każda pomoc będzie bardzo wdzięczna. Funkcja, której użyłem to - add_action('add_attachment', 'create_post'); function create_post( $attach_ID ) { $attachment = get_post( $attach_ID ); $my_post_data = array( 'post_title' => $attachment->post_title, 'post_type' => 'post', 'post_category' => array('0'), 'post_status' => 'opublikuj' ); $post_id = wp_insert_post($my_post_data); // dołącz media do posta wp_update_post( array( 'ID' => $attach_ID, 'post_parent' => $post_id, ) ); set_post_thumbnail( $post_id, $attach_ID ); zwróć $attach_ID; }