title: Lokalne środowisko programistyczne WordPress

text: Wszystko na WordPressie jest przygotowane na serwer produkcyjny i prawie nie wspomina o informacjach o programowaniu. Chcę skonfigurować blog WordPress lokalnie, aby był dobry i gotowy przed uruchomieniem. Czy istnieją jakieś konkretne wytyczne dotyczące konfigurowania lokalnego środowiska programistycznego WordPress. Jaki jest najłatwiejszy sposób tworzenia bloga wordpress lokalnie, ale taki, który w pewnym momencie mogę przenieść na serwer na żywo? **Edycja pytania** dla wytycznych dotyczących odpowiedzi WordPress.


title: Ukryj polecany post na drugiej stronie

text: To jest kod mojej strony kategorii <--Featured Post start--> <?php $count = 1; if (have_posts()) : while (have_posts()) : the_post(); if($count == 1) : ?> <a href="<?php the_permalink() ?>" rel="zakładka" title=""><?php the_title(); ?> <--Polecany początek posta--> <?php else : ?> <--Reszta postów --> <a href="<?php the_permalink() ?>" rel="zakładka" title=""><?php the_title(); ?> * * * <?php if (function_exists('wp_pagenavi')) wp_pagenavi(); else { ?> <?php } ?> nie chcę, aby wyróżniony post był wyświetlany po pierwszej stronie, jak temu zapobiec?


title: Jak uzyskać podpis załącznika (get_the_excerpt daje fragment nadrzędnego posta)?

text: Wyświetlam załączniki na stronie nadrzędnego posta z następującym kodem: $args = array('post_type' => 'attachment', 'post_mime_type' => 'image', 'order'=> 'ASC', 'numberposts' = > -1, 'post_status' => null, 'post_parent' => $post->ID ); $załączniki = get_posts($args); if ($attachments) { foreach ( $attachments as $attachment ) { $attachments_url[] = $my_image; $attachments_caption[] = pobierz_wypis(); } } Problem polega na tym, że fragment nie otrzymuje podpisu załącznika, ale fragment postu. czy wiesz, jak wyświetlić podpisy załączników? Dziękuję Ci


title: Przechowywanie niestandardowych opcji WordPress?

text: Mam motyw z około 500 niestandardowymi opcjami, ich kod wygląda tak: <form method="post" action="options.php"> <?php wp_nonce_field('update-options'); ?> <input type="tekst" " value="<?php echo get_option('opcja1'); ?>" /> <typ wejścia="tekst" "wartość="<?php echo get_option('opcja2'); ?>" /> <typ wejścia="ukryty" nazwa="akcja" wartość="aktualizacja" / > <input type="ukryte" name="strona_opcje" value="opcja1,opcja2" /> <input type="submit" value="<?php _e('Zapisz zmiany') ?>" /> </form > Myślę, że wszystkie są przechowywane w tabeli wp_options. Chodzi o to, że nie jestem w stanie zapisać tych danych, za każdym razem, gdy eksportuję/importuję ustawienia Wordpressa, te niestandardowe wartości znikają, zmiana motywu również je usuwa. Jak to naprawić?


title: Sesje Wordpress i PHP

text: Używam wtyczki o nazwie Menedżer wydarzeń WP, chciałbym dodać niestandardową funkcjonalność, aby każde zdarzenie można było „dodać” do „koszyka”, a następnie na końcu użytkownik może przejść do „kasy” i zarejestrować się na te wydarzenia. Uważam, że odbywa się to poprzez przechowywanie identyfikatora zdarzenia, gdy użytkownik kliknie dodaj sesje PHP, a następnie zapętlając elementy przy kasie z informacjami, które wprowadzasz przy kasie. Jestem nowy w sesjach PHP i nie jestem pewien, jak mogę przechowywać identyfikator po kliknięciu przycisku, a następnie przejrzeć je na końcu, jeśli ktoś wie o tym lub zna jakiekolwiek powiązane artykuły, byłbym bardzo wdzięczny, googlując temat wysłał mnie na pole minowe. Twoje zdrowie!


title: Niestandardowe wyjście HTML dla zarejestrowanej nawigacji

text: Czy można usunąć tytuł / adres URL z niestandardowej nawigacji, aby utworzyć nową strukturę HTML? Tworzę bardzo unikalną strukturę menu, opartą na niestandardowym menu stworzonym przez użytkownika w WordPressie, ale `wp_nav_menu()` nie wydaje się wyprowadzać tylko tytułu / adresu URL do tablicy. Najprawdopodobniej mógłbym uzyskać wynik HTML z `wp_nav_menu()` i uruchomić wyrażenie regularne, aby usunąć różne potrzebne mi elementy, ale wydaje się to przesadą, jeśli metoda już się kończy? Doceń pomoc.


title: eksport wordpress ładne permalinki i eksport postów

text: Uwaga: wypróbowałem wszystkie stare pytania i wydają się nie działać w aktualnej wersji wp Chcę wyeksportować ładne permalinki (nie w db), tytuł posta, fragment i, jeśli to możliwe, kategorię i tagi do csv Proszę mi powiedzieć, jak to zrobić


title: JSON: harmonogram tworzenia pliku json

text: Po kilku badaniach udało mi się stworzyć plik json, którego używam jako dane wejściowe do typeahead Twittera (prefetch). Na mojej stronie mam kilkaset wydarzeń i kilka tysięcy artystów (obydwa typy postów custom). Pliki json są tworzone za pomocą poniższej funkcji (opublikowana tylko jedna funkcja, ponieważ funkcja dla artystów jest taka sama, z wyjątkiem innego typu postu). Ponieważ ciągle aktualizujemy wydarzenia i artystów, a ponieważ mamy ich tak dużo, zastanawiałem się, jak powinienem zająć się uruchamianiem funkcji. Moim pomysłem było zaplanowanie tej funkcji, aby działała mniej więcej raz dziennie. Po kilku dalszych badaniach powinienem być w stanie to naprawić (korzystając z tego posta). Teraz moje pytanie brzmi, czy to dobra praktyka. Pomyślałem, że fajnie byłoby zaplanować uruchamianie funkcji każdej nocy (mamy ponad 8000 artystów, więc nie chcę, aby funkcje spowalniały witrynę dla odwiedzających), ale może jest inny skuteczny sposób na budowanie tak dużych zbiorów danych. Funkcja: function json_events() { $args = array( 'post_type' => 'events', 'posts_per_page' => -1, 'post_status' => 'publish' ); $zapytanie = nowe WP_Query($args); $json = tablica(); while ($query->have_posts()): $query->the_post(); $json[] = pobierz_tytuł(); koniec; wp_reset_query(); $fp = fopen('wydarzenia.json', 'w'); fwrite($fp, json_encode($json)); fzamknij($fp); }


title: Ostrzeżenie przy próbie edycji/dodawania niestandardowego typu postu

text: W mojej instalacji WordPressa mam dwa niestandardowe typy postów. Oba są skonfigurowane w ten sam sposób w functions.php (jeden o nazwie „Media”, a drugi „Referencje”). Z jakiegoś powodu otrzymuję teraz następujący błąd w panelu Admin, gdy przechodzę do edycji lub dodawania elementów multimedialnych: > Ostrzeżenie: call_user_func_array() oczekuje, że parametr 1 będzie prawidłowym wywołaniem zwrotnym, > funkcja „add_media_metaboxes” nie została znaleziona lub nieprawidłowa nazwa funkcji in > /home/user /public_html/wp-includes/plugin.php w wierszu 405 Nie wpływa to na moją zdolność do dodawania lub edytowania elementów multimedialnych. Dlaczego pojawia się ten błąd i jak mogę pozbyć się ostrzeżenia? Witryna właśnie zmieniła domeny, ale nie widzę, jak wpłynęłoby to na jeden niestandardowy typ posta, a nie na drugi. Zaktualizowałem permalinki oraz wszystkie linki wewnętrzne i zewnętrzne. Dziękuję. * * * Aby kontynuować odpowiedź @pippin, oto pełny kod z functions.php. Czy widzisz tutaj błąd? function wpt_media_posttype() { register_post_type( 'media', array( 'labels' => array( 'name' => __( 'Elementy multimedialne' ), 'singular_name' => __( 'Element multimedialny' ), 'add_new' = > __( 'Dodaj nowy element multimedialny' ), 'add_new_item' => __( 'Dodaj nowy element multimedialny' ), 'edit_item' => __( 'Edytuj elementy multimedialne' ), 'new_item' => __( 'Dodaj nowy Element multimedialny' ), 'view_item' => __( 'Wyświetl elementy multimedialne' ), 'search_items' => __( 'Przeszukaj multimedia' ), 'not_found' => __( 'Nie znaleziono elementów multimedialnych' ), 'not_found_in_trash' => __( 'Nie znaleziono elementów multimedialnych w koszu' ) ), 'public' => true, 'supports' => array( 'editor', 'thumbnail', 'title' ), 'capability_type' => 'post' , 'rewrite' => array("slug" => "media"), // Format permalinków 'has_archive' => prawda, 'menu_position' => 5, 'register_meta_box_cb' => 'add_media_metaboxes' ) ); } add_action( 'init', 'wpt_media_posttype' );


title: Instrukcja pamięci podręcznej WebHostingBuzz

text: > Wykorzystanie i moduły WordPress: Nie zezwalamy na żadne moduły pamięci podręcznej WordPress > ponieważ stale powodują problemy z przeciążeniem serwera i są dozwolone > na VPS lub hostingu dedykowanym. >> http://www.webhostingbuzz.com/acceptable-use-policy.php Natknąłem się na to dzisiaj i teraz jestem naprawdę zdezorientowany. Zawsze myślałem, że wtyczki cache mają ZMNIEJSZYĆ obciążenie serwera, a nie je zwiększać. Czy ktoś może to wyjaśnić?


title: Autorzy Możliwość recenzowania postów od współtwórców

text: Zajmuję się tworzeniem systemu CMS z wykorzystaniem WordPressa. Mam różne role użytkownika. Mam różne działy i chcę, aby użytkownicy (Rola współtwórców) publikowali elementy, które zostaną przesłane do recenzji przez Użytkowników (autorów i administratorów). Moje wyzwanie polega na tym, że rola „autorzy” nie widzi postu przesłanego przez współtwórców tylko jako admin. Co mam zrobić, aby dać Autorowi prawa do przeglądania tego postu i przeglądania go oraz publikowania. Czy mogę dostać wtyczkę, która może to zrobić?


title: Załącznik wp_mail nie działa

text:
Witam Próbuję wysłać pocztę z pewnym załącznikiem za pomocą funkcji wordpress `wp_mail`, ale nie otrzymuję załącznika w mojej skrzynce pocztowej. Czy możesz sprawdzić mój poniższy kod i poprowadzić mnie, gdzie się mylę. Możesz zobaczyć, że umieszczam obraz w załączniku. <?php $to = 'mój@email.com'; $temat = 'WordPress wp_mail'; $message = '

Witaj WordPress

   '; $attachments = array( 'http://sitename/project/wp-content/plugins/my-plugin/uploads/sample_photo_01.jpg' ); //$attachments = array(WP_CONTENT_DIR . '/uploads/'.$_FILES["myfile"]["name"]); $headers[] = 'Wersja MIME: 1.0' . "\r\n"; $headers[] = 'Typ treści: text/html; charset=iso-8859-1' . "\r\n"; $headers[] = 'Od: '.get_option( 'nazwa bloga' ).' <'.get_option( 'admin_email' ).'>'; wp_mail( $do, $temat, $wiadomość, $nagłówki, $załączniki); ?> Dzięki.


title: Zatrzymaj ładowanie wtyczek js i css na wszystkich stronach i wyświetlaj się tylko tam, gdzie jest wywoływana

text: Ta wtyczka ma unikalny sposób rejestrowania stylów i skryptów, więc nie mam pojęcia, jak zatrzymać jej ładowanie na wszystkich moich stronach. Po szybkim wyszukiwaniu, aby zobaczyć, gdzie jest wp_enqueue_style&script, wymyśliłem to. Linia 263: wp_enqueue_style($h); Linia 277: wp_enqueue_style('thickbox'); Linia 143: add_action('wp_enqueue_scripts', array( &$this, 'frontend_print_scripts'), 20 ); Linia 203: wp_enqueue_script($h); Wiersz 227: wp_enqueue_script('media-upload'); Linia 228: wp_enqueue_script('thickbox'); Potem szukałem register_and_enqueue_js i wymyśliłem to. function register_and_enqueue_js($file, $d = array(), $v = false, $f = false) { if ($v === false) { $v = $this->plugin_version; } $js_src_url = $plik; if (! WPPBUtils::str_contains($file, '://')) { $js_src_url = $this->plugin_url . 'js/' . $plik; } $h = str_replace('.', '-', pathinfo( $file, PATHINFO_FILENAME) ); wp_register_script( $uchwyt = $h, $src = $js_src_url, $deps = $d, $ver = $v, $in_footer = $f); wp_enqueue_script($h); } function admin_print_script_if_exists($js_file) { if (file_exists($this->plugin_dir . 'js/' . $js_file)) { $this->register_and_enqueue_js($js_file, array('jquery')); } } Dla css znalazłem funkcję register_and_enqueue_css($file, $d = false, $v = false) { if ($v === false) { $v = $this->plugin_version; } $css_src_url = $plik; if (! WPPBUtils::str_contains($file, '://')) { $css_src_url = $this->plugin_url . 'css/' . $plik; } $h = str_replace('.', '-', pathinfo( $file, PATHINFO_FILENAME) ); wp_register_style( $uchwyt = $h, $src = $css_src_url, $deps = $d, $ver = $v); wp_enqueue_style ($h); } Nie tak wszystkie wtyczki kolejkują i rejestrują css i js, więc nie mam pojęcia, jak to zrobić.


title: Czystszy sposób na dostęp do niestandardowych pól w kodzie?

text: Mam 15 pól niestandardowych, których używam do generowania recenzji mojej witryny. Obecnie mam dostęp do każdego pola w następujący sposób: //Kup lub wynajmij, wpisz dom, cena if ( get_post_meta(get_the_ID(), 'survey_home_type', true)) { echo get_post_meta(get_the_ID(), 'survey_home_type', true) . „-”; } if ( get_post_meta(get_the_ID(), 'survey_buy_or_rent', true)) { echo get_post_meta(get_the_ID(), 'survey_buy_or_rent', true) . " dla "; } if ( get_post_meta(get_the_ID(), 'survey_purchase_price', true)) { echo get_post_meta(get_the_ID(), 'survey_purchase_price', true); } elseif ( get_post_meta(get_the_ID(), 'survey_rent', true)) { echo get_post_meta(get_the_ID(), 'survey_rent', true); } Czy istnieje lepszy sposób na zrobienie tego? Próbowałem użyć get_post_custom, ale wydaje się, że zajmuje się głównie tablicami, a nie pojedynczymi elementami. Mógłbym również zadeklarować wszystkie zmienne z wyprzedzeniem, takie jak `$rent`, `$purchase_price`. Chciałbym usłyszeć jakąkolwiek radę!


title: Dodaj klasę w bieżącym poście; wp_list_categories

text: Poniższy kod tworzy podmenu kategorii podrzędnych aktualnie aktywnej kategorii nadrzędnej. Ten kod tworzy również kategorie podrzędne najwyższej kategorii nadrzędnej podczas przeglądania kategorii podrzędnych i postów w tych kategoriach. Klasa CSS `.current-cat` jest stosowana do aktywnych kategorii podrzędnych. To najbardziej zwinny kod, jaki udało mi się znaleźć, aby rozwiązać ten ogólny problem. Jestem ciekaw, czy ktoś ma rozwiązanie, aby naprawić jeden problem, którego ten kod nie rozwiązuje - dodanie klasy do bieżącej kategorii podrzędnej _gdy_ przegląda post w tej kategorii. <?php $kategorie = pobierz_kategorię(); echo '<ul>'; foreach($kategorie jako $kategoria){ $rodzic = $kategoria->rodzic; if($category->parent == 0){} else{ wp_list_categories("child_of=$parent&title_li"); } } echo '</ul>'; ?> Aby dokładniej opisać to, czego szukam: Powiedzmy, że kategoria nadrzędna to Łodzie, a kategoria podrzędna to Skooners. Napisałem artykuł zatytułowany „Jak kupić Skoonera” i umieściłem go w kategorii Łodzie > Skoonery. Kiedy przechodzę do kategorii Łodzie, ten kod _nie_ wyświetla skoonery jako kategorię podrzędną i przypisuje klasę CSS, która pozwala nam wskazać za pomocą projektu, że jest to kategoria, którą przeglądamy. Jednak gdy przechodzę do artykułu „Jak kupić Skoonera” (zamieszczonego w kategorii Łodzie > Skoonery), odpowiednie kategorie podrzędne są nadal wyświetlane, ale brakuje im klasy CSS `.current-cat`. Aby zobaczyć to w akcji, odwiedź http://themeforward.com/demo2/category/category/ i przejdź z podmenu po prawej stronie do kategorii „Link”. Następnie kliknij artykuł „Link”, a zauważysz, że traci on swoją fioletową stylizację zastosowaną przez `.current-cat`.


title: get_post_ancestors zwraca puste

text:
Używam WordPressa do organizowania dokumentacji oprogramowania, które wspieram, i natrafiłem na mały szkopuł. Mam wiele dokumentów FAQ (zapisanych jako strony), które muszą być osobnymi stronami, ale chcę je zagregować w jedną główną listę FAQ. Aby to zrobić, zainstalowałem wtyczkę „Ninja Page Categories and Tags”, aby móc oznaczyć każdą oddzielną stronę za pomocą „faq”. To, co chciałem wtedy zrobić, to zapytanie o wszystkie strony z tym tagiem, a następnie zebranie ich w 3 listy, w zależności od funkcji FAQ: ogólne, instruktorów lub studentów. Każdy wynik byłby sortowany na podstawie przodka danej strony. Oto kod, który opracowałem: $instructors = array(); $uczeń = tablica(); $ogólne = tablica(); $postsByTag = get_posts('tag=faq&post_type=page&numberposts=0'); foreach($postsByTag as $post) { setup_postdata($post); $title = $post->post_title; $title = str_replace("FAQ: ", "", $title); $id = $post->ID; $ancestors = get_post_ancestors($post); if($post->ancestors && in_array( '386', $post->ancestors)) { $instructors[] = "
$tytuł
"; } else if(in_array( '384', $post->ancestors)) { $students[] ="
$tytuł
"; } else { $general[] = "
$tytuł
"; } } Kod zwraca wszystkie strony oznaczone tagiem „faq”, ale sortuje wszystko do kategorii „ogólne”, ponieważ wydaje się, że get_post_ancestors zwraca puste, chociaż wiem, że tak nie jest. Co ja tu robię źle? Czy ktokolwiek może mi pomóc? Dziękuję!


title: Wordpress Mapy Google

text: Czy ktoś zna fajną wtyczkę do map dla Wordpressa. Mam witrynę dziennika w Wordpress, gdzie każdy wpis w dzienniku ma szerokość i długość geograficzną miejsca, w którym został napisany każdy post. Pomyślałem, że fajnie byłoby dla każdego posta mieć mapę google pokazującą, gdzie był napisany każdy wpis. Może nawet pokazać drogę, którą obraliśmy pisząc pamiętnik. Jakieś pomysły?


title: Dołączyć tytuł posta do linku czytaj więcej?

text:
Próbuję zawrzeć tytuł posta w moim fragmencie linków czytaj więcej. Przeczytałem kodeks na ten temat, ale moje pliki motywów są znacznie bardziej skomplikowane, więc przydałaby mi się pomoc eksperta... Wyciąg z functions.php: ** Edytowano, aby pokazać więcej kodu... function theme_get_content($args = array()) { $more_tag = theme_get_array_value($args, 'more_tag', __('Kontynuuj Bob →', THEME_NS)); theme_ob_start(); the_content($more_tag); $treść = theme_ob_get_clean(); zwróć $treść . wp_link_pages(array( 'before' => '
' . __('Strony', THEME_NS) . ': ', 'after' => '
', 'link_before' => '', 'link_after' => '', 'echo' => 0)); } function theme_get_excerpt($args = array()) { global $post; $more_tag = theme_get_array_value($args, 'more_tag', __('Moje słowa...→', THEME_NS)); $auto = theme_get_array_value($args, 'auto', theme_get_option('theme_metadata_excerpt_auto')); $all_words = theme_get_array_value($args, 'all_words', theme_get_option('theme_metadata_excerpt_words')); $min_remainder = theme_get_array_value($args, 'min_remainder', theme_get_option('theme_metadata_excerpt_min_remainder')); $allowed_tags = theme_get_array_value($args, 'allowed_tags', (theme_get_option('theme_metadata_excerpt_use_tag_filter') ? explode(',',str_replace(' ', '', theme_get_option('theme_metadata) ) $perma_link = get_permalink($post->ID); $more_token = '%%theme_more%%'; $show_more_tag = fałsz; $tag_disbalance = fałsz; if (post_password_required($post)) { return get_the_excerpt(); } if ($auto && has_excerpt($post->ID)) { $excerpt = get_the_excerpt(); $show_more_tag = theme_strlen($post->post_content) > 0; } else { $wyciąg = get_the_content($more_token); // hack dla źle napisanych wtyczek theme_ob_start(); echo apply_filters('zawartość', $wyciąg); $wyciąg = theme_ob_get_clean(); globalna $wielostronicowa; if ($multipage && theme_strpos($excerpt, $more_token) === false) { $show_more_tag = true; } if (theme_is_empty_html($excerpt)) return $fragment; if ($allowed_tags !== null) { $allowed_tags = '<' . implode('><', $allowed_tags) . '>'; $wyciąg = strip_tags($wyciąg, $dozwolone_tags); } if (theme_strpos($excerpt, $more_token) !== false) { $excerpt = str_replace($more_token, $more_tag, $excerpt); } elseif ($auto && is_numeric($all_words)) { $token = "%theme_tag_token%"; $content_parts = explode($token, str_replace(array('<', '>'), array($token . '<', '>' . $token), $fragment)); $treść = tablica(); $liczba_słów = 0; foreach ($content_parts as $part) { if (theme_strpos($part, '<') !== false || theme_strpos($part, '>') !== false) { $content[] = array('type ' => 'tag', 'treść' => $część); } else { $all_chunks = preg_split('/([\s])/u', $part, -1, PREG_SPLIT_DELIM_CAPTURE); foreach ($all_chunks as $chunk) { if ('' != trim($chunk)) { $content[] = array('type' => 'słowo', 'content' => $chunk); $liczba_słów += 1; } elseif ($chunk != '') { $content[] = array('type' => 'spacja', 'content' => $chunk); } } } } if (($all_words < $word_count) && ($all_words + $min_remainder) <= $word_count) { $show_more_tag = true; $tag_disbalance = prawda; $bieżąca_liczba = 0; $wyciąg = ''; foreach ($treść jako $węzeł) { if ($węzeł['typ'] == 'słowo') { $bieżący_liczba++; } $wyciąg .= $węzeł['treść']; if ($bieżąca_liczba == $all_words) { przerwa; } } $wyciąg .= '…'; // ... } } } if ($show_more_tag) { $wyciąg = $wyciąg . ' ' . $more_tag . ' '; } if ($tag_disbalance) { $wyciąg = force_balance_tags($wyciąg); } return $fragment; } Jakieś pomysły, jak dołączyć tytuł posta do linku readmore??? Dziękuję


title: Dlaczego get_page_template() nie pokazuje nazwy pliku szablonu taksonomii?

text: Stworzyłem własną taksonomię o nazwie `work-category` i plik szablonu dla niej o nazwie `taxonomy-work-category.php`. Ta część działa dobrze. W tym celu umieściłem `get_page_template()` w tym pliku `taxonomy-work- category.php`, aby uzyskać aktualną nazwę pliku szablonu. Ale wypisuje jako `page.php` (oczywiście z pełną ścieżką). Spodziewałem się, że wypisze `taxonomy-work-category.php`. Nawet jeśli mam pewność, że drukuje z niestandardowego pliku szablonu taksonomii — Dlaczego funkcja `get_page_template()` nie zwraca nazwy pliku szablonu taksonomii?


title: Nie wyświetla się tytuł posta

text:
Cześć, używam tego kodu do wywoływania postów z określonej kategorii <?php $queryObject = new Wp_Query( array( 'posts_per_page' => 3, 'post_type' => array('post'), 'category_name' => ' photos-bet-awards-2013-2', 'orderby' => 'data', )); // Pętla! if ($queryObject->have_posts()) { ?> <?php while ($queryObject->have_posts()){ $queryObject->the_post(); ?> <a href="<?php the_permalink(); ?>" title="<?php printf(__( 'Odczytaj %s', 'wpbx'), wp_specialchars(get_the_title(), 1)) ?>" > <?php the_post_thumbnail('betphumbs'); ?>  <?php $args = array( 'post_type' => 'attachment', 'numberposts' => -1, 'offset' => 0, 'orderby' => 'menu_order', 'order' => 'asc', 'post_status' => null, 'post_parent' => $post->ID, ); $załączniki = get_posts($args); if ($attachments) { foreach ($attachments as $attachment) { if(wp_attachment_is_image($attachment->ID )) { echo 'ID) .'"><? php tytuł_(); ?> '; przerwanie; } } } ?>  <?php $attachments = get_children(array('post_parent'=>$post->ID)); $nbImg = liczba($załączniki); echo ''.$nbImg.' zdjęcia.'; ?>
 <?php the_time('m/d/y \a\t g:ia') ?> <?php } ?> <?php wp_reset_postdata(); } ?> Teraz problemem, który mam, jest z jakiegoś powodu `<?php the_title(); ?>` nie pobiera tytułu posta **jak mogę to naprawić?**


title: Polecany rozmiar obrazu w panelu ADMIN?

text: Chcę to całkowicie wyjaśnić, chciałbym zmienić rozmiar miniatury polecanego obrazu w panelu ADMIN, a nie na interfejsie. Tworzę motyw WP-admin i muszę powiększyć wyróżniony obraz z tyłu. Wygląda na to, że wyróżnione obrazy na ekranie edycji postu zawsze wyrzucają w rozmiarze 266x148px, najlepiej bym chciał, aby miały rzeczywisty rozmiar. Przeszukałem okolicę i nie mogę znaleźć żadnych haczyków ani funkcji, które by mi to umożliwiły, ale jeśli ktoś wie jak, to są to ludzie tutaj.


title: Nie można dodać przycisku "kod" do paska narzędzi TinyMCE

text: To doprowadza mnie do szału. Używając kodu z kodeksu WP, mogę dodać NIEKTÓRE przyciski do paska TinyMCE, ale inne NIE. Na przykład ten kod: function my_mce_buttons_2($buttons) { /** * Dodaj główny przycisk, który jest domyślnie wyłączony */ $buttons[] = 'sup'; $przyciski[] = 'kod'; $przyciski[] = 'godz'; $buttons[] = 'pełny ekran'; zwróć $przyciski; } add_filter('mce_buttons_2', 'my_mce_buttons_2'); Doda przyciski hr i pełnego ekranu do edytora, ale NIE doda kodu ani przycisku indeksu górnego do edytora. Co daje?! Jakieś pomysły? Używam WP 3.9.1


title: Zmień domyślną zakładkę menedżera mediów

text: Czy istnieje sposób na zmianę domyślnej karty menedżera multimediów? Udało mi się usunąć wszystko, czego nie chciałem pokazać w menedżerze mediów, korzystając z instrukcji z pierwszego postu tutaj Dodaj element menu do Wordpress 3.5 Media Manager. Stworzyłem również niestandardową zakładkę. Problem polega na tym, że kiedy klikam przycisk Dodaj multimedia w postach, domyślnie wysyła mnie do Biblioteki multimediów, którą wyłączyłem. ![http://i.stack.imgur.com/e3oLk.png](http://i.stack.imgur.com/e3oLk.png) Czy można ustawić domyślny ekran z Biblioteki mediów (którą mam wyłączone) do Wstaw z adresu URL? Tak więc za każdym razem, gdy kliknę przycisk Dodaj multimedia, otrzymuję następujący ekran: ![http://i.imgur.com/fWNb47h.png](http://i.imgur.com/fWNb47h.png) (ten z Wstaw z adresu URL). Moje umiejętności kodowania są prawie zerowe... a najbliższe rozwiązanie mojego problemu wydaje mi się, że jest to Zmiana domyślnej zakładki biblioteki multimediów, ale to nie działa...


title: Jak zapobiec publikowaniu postów zbyt blisko siebie?

text: Prowadzę bloga, który składa się z około 25 autorów. Czasami kilku z nich jest w trakcie pisania nowego posta naraz i publikują je zbyt blisko siebie. Czy istnieje sposób, aby temu zapobiec? Coś do powiedzenia „Kolejny post właśnie pojawił się w ciągu ostatnich 5 minut. Musisz poczekać 55 minut, aby opublikować swój”.


title: Formularz odpowiedzi inny niż formularz komentarza

text: Czy istnieje sposób wyświetlania (css i html) w inny sposób formularza „odpowiedź” i głównego formularza „komentarz”?


title: Używasz add_action przed add_filter we wtyczce?

text: Piszę wtyczkę i mam problem. Mam `add_action('publish_post', 'sender');` i chcę, aby ta funkcja była uruchamiana jako pierwsza przed funkcją add_filter, chociaż tak się nie stanie. Czy jest na to sposób? Próbowałem przenieść add_filter poniżej add_action, ale to nie działa. Również wklejenie add_filter jeden do funkcji add_action nie działa. Dzięki za pomoc. Edycja: Na przykład, gdyby to zadziałało, byłoby świetnie. if (add_action('publish_post', 'sender')) { add_filter('wp_insert_post_data','changePost','99',2); } Ale tak się nie dzieje i jakoś nadal uruchamia najpierw funkcję add_filter.


title: Jak mogę zduplikować „Dodaj pole niestandardowe” za pomocą samego kodu JavaScript?

text: Często muszę dodać kilka par nazwa-wartość do pól niestandardowych wpisu. Obecnie dodaję je po kolei, wpisując Nazwę i Wartość oraz klikając Dodaj Niestandardowe Pole. Chciałbym to przyspieszyć, wprowadzając kilka par do jednego pola (textarea, prompt, cokolwiek) i przeanalizować je w JavaScript i dodać tak, jakbym wprowadził je ręcznie. (Dlaczego JavaScript? Ponieważ nie mam dostępu do edycji żadnego PHP ani instalowania żadnych nowych wtyczek. Robię to po stronie przeglądarki, za pomocą Greasemonkey.) O ile mi wiadomo, przycisk Dodaj niestandardowe pole przesyła nazwę -Para wartości z AJAX, ale nie jestem wystarczająco zaznajomiony z jQuery lub WordPress, aby znaleźć dokładny kod, który to robi, aby móc go skopiować. Wszelkie wskazówki byłyby bardzo mile widziane. Dziękuję!


title: Jak mogę wyszukać tagi w określonej kategorii?

text: Próbuję wyszukać określoną kategorię za pomocą tagu, jak mogę to zrobić za pomocą adresu URL? Na przykład: www.example.com/?cat=1&tag=tag1 jak mogę to osiągnąć za pomocą parametrów w adresie URL?


title: Alternatywa dla mysql_real_escape_string

text: Mam wtyczkę do WordPressa, która w pewnym momencie muszę sprawdzić, czy dany tytuł istnieje w bazie danych. Przez 2 lata ten kod działał dobrze: $myposttitle= $wpdb->get_results( "wybierz post_title z $wpdb->postów, gdzie post_title jak '%". mysql_real_escape_string($myTitle) . "%'" ); Jednak z php 5.5. i WP 3.9.1 powoduje to błąd, ponieważ funkcja `mysql_real_escape_string` jest przestarzała. Jakieś pomysły na to, jaka inna funkcja będzie poprawnie wymykać się zawartości `$myTitle` teraz, gdy nie mogę już używać `mysql_real_escape_string`? Dziękuję


title: Zaimportować RSS jako posty z przekierowaniem?

text: Szukam sposobu na importowanie elementów RSS z **zewnętrznego bloga** jako postów _z przekierowaniem_ na nich. Celem jest, aby posty z innego bloga pojawiały się we fragmentach mojej strony głównej, ale w rzeczywistości dostarczały użytkownika do bloga źródłowego po kliknięciu. Czy ktoś zna prosty sposób na osiągnięcie tego?


title: Czy istnieją funkcje dla ścieżek plików, a nie tylko adresów URL?

text: Czy istnieje odpowiednik funkcji takich jak `plugins_url()` i `content_url()`, które podają albo ścieżki względne, albo ścieżkę do pliku. Na przykład zamiast > http://localhost:8888/wordpress-3.2/wp-content chcę: > /Users/username/Sites/wordpress-3.2/wp-content Wiem, że mogę zbudować tę ścieżkę za pomocą ` Stała ABSPATH`, ale jestem szczególnie zainteresowany nauką, czy istnieją wbudowane funkcje do obsługi tego. W międzyczasie prawdopodobnie napiszę funkcję, która zamieni adres URL na abspath. EDYCJA: Oto prosta funkcja, którą napisałem, aby sobie z tym poradzić: function get_file_path($url) { return str_replace(site_url(), ABSPATH, $url); } Wydaje się, że załatwia sprawę, ale wolałbym używać wbudowanych funkcji, jeśli są dostępne.


title: Problem z linkiem bezpośrednim tylko z numerami

text: Używam wtyczki wp-e-commerce i kiedy piszę adres URL, taki jak „mysite.com/event/testevent”, wszystko jest w porządku, a wordpress pokazuje poprawną stronę. W przypadku, gdy wydarzenie ma numer taki jak „mysite.com/event/123456”, wordpress pokazuje mi stronę produktów. Śledzę ten post, ale mój problem nadal istnieje.


title: Wyświetlanie listy użytkowników ACF

text: Stworzyłem niestandardowe pole za pomocą ACF do wyświetlania edytorów strony (może to być lista kilku oddzielonych przecinkami) wraz z linkiem do ich archiwum, ale wszystko, co otrzymuję, to zwykły tekst „Tablica”. Czy ktoś mógłby mi pomóc to naprawić? Z jakiegoś powodu nie znajduję w dokumentacji właściwych informacji. if(get_field('editor')) { echo ', edytowane przez ' . get_field('edytor') . '';} $wartości = get_field('edytor'); if($wartości) { foreach($wartości jako $wartość) { echo ' ' . $wartość . ','; } }


title: Zmiana ID opcji - nie działa (SMOF) [Rozwiązane]

text: Ostatnio zdecydowałem się użyć SMOF Options Framework w moim motywie WordPress, zamiast własnej strony opcji. Myślę, że zmiana jest łatwa, ale mam problem, którego nie rozumiem. Najpierw tworzę nową sekcję w tablicy: $of_options[] = array("name" => "Opcje główne", "type" => "heading"); Następnie dodaję predefiniowaną opcję z polem wyboru: $of_options[] = array("name" => "Normal Select", "desc" => "Normal Select Box.", "id" => "example_select", " std" => "trzy", "typ" => "wybierz", "opcje" => $of_options_select ); W tej chwili działa idealnie. Problem pojawia się, gdy zmieniam identyfikator **"example_select"** na nową nazwę, na przykład **"ft_content_layout"** lub dowolną inną nazwę... Opcja znika ze strony opcji. Dlaczego? **Aktualizacja:** Naprawiono! Potrzebuje "Resetu" (opcji resetowania) przy każdej zmianie identyfikatora.


title: Jak automatycznie tłumaczyć niestandardowe role użytkowników?

text: Opracowałem małą wtyczkę, która dodaje (a dokładniej: najpierw usuwa, a potem dodaje ponownie) kilka niestandardowych ról użytkownika. Każda z tych ról jest skonfigurowana w następujący sposób: function wpdev_141551_add_role_someone() { $role = 'ktoś'; usuń_role( $rola ); $capabilities = array( 'read' => TRUE, 'publish_posts' => TRUE, 'edit_posts' => TRUE, 'delete_posts' => FALSE, // ... ); add_role( $rola, 'Ktoś', $zdolności ); } Problem polega na tym, że te niestandardowe role użytkownika w ogóle nie są tłumaczone. Tłumaczenia domyślnych ról użytkownika (autor, współtwórca itp.) są zawarte w domyślnej domenie tekstowej WordPressa. Więc jak/gdzie powinienem wkroczyć i przetłumaczyć te niestandardowe nazwy ról? Jeśli dodam rolę z wywołaniem gettexta dla jej nazwy `__( 'Someone', 'plugin-text-domain' )` to łańcuch, który zostanie zapisany do bazy danych, zostanie przetłumaczony zgodnie z bieżącym językiem. Chciałbym jednak mieć rozwiązanie, które pozwala mi przełączać języki według własnego uznania i odpowiednio wyświetlać role -- **bez** konieczności dezaktywowania, a następnie ponownej aktywacji wtyczki (tj. usuwania i dodawania rola, ponownie). * * * Zamieszczę moje obecne rozwiązanie, ale nadal jestem **bardzo zainteresowany innym** (prawdopodobnie bardziej wydajnym) **podejściem**.


title: Strona osobista dla każdego użytkownika (nie tylko autorów)

text: Mam stronę wyświetlającą wszystkich użytkowników WP przy użyciu get_users() i get_userdata(). Potrzebuję indywidualnej strony użytkownika automatycznie (z własnym ślimakiem) generowanej dla każdego dodanego nowego użytkownika. Nie mam pojęcia, jak to osiągnąć. Jakieś sugestie?


title: Zwróć komentarze_link() zamiast go powtarzać

text: Czy istnieje sposób na zwrócenie linku do komentarzy zamiast powtarzania go? Od jakiegoś czasu przeszukuję Kodeks, nie będąc w stanie znaleźć funkcji, która po prostu zwraca link i nie wyświetla go. Dziękuję.


title: Jak utworzyć pojedynczą statyczną stronę rozszerzającą inny adres URL

text: Mam istniejący URL **game/ninja-cat-and-zombie-dinosaurs/**, który został utworzony przez przepisanie: **game/([^/]+)(/[0-9]+)?/?$ ** Prowadzi do niestandardowego typu posta (zdefiniowanego przez motyw Swatch). Teraz chciałbym mieć URL **gra/ninja-kot-i-zombie-dinozaury/pełny ekran**, który prowadzi do zupełnie innej strony – jak mam to zrobić? 1. Utworzyć katalogi gier/ninja-cat-and-zombie-dinosaurs/ na serwerze i umieścić tam plik fullscreen.php? Brzydkie i zwariowane 2. Poznałem funkcję specjalną, przykład użycia: `add_rewrite_rule('^game/([^/]+)(/[0-9]+)/fullscreen$','index.php?page_id=55 ','top');` Czy w takim przypadku powinienem utworzyć stronę wp i podać jej id? Problem polega na tym, że nie chcę, aby ta strona była widoczna w innych miejscach, a do tego prawdopodobnie musiałbym zainstalować wtyczki, które by ją ukrywały itp. 3. Jeśli nie poprzez niestandardowe przepisanie, być może łatwiej jest użyć parametru GET game/ninja- cat-and-zombie-dinosaurs?fullscreen i inside page sprawdzają, czy jest parametr fullscreen, a jeśli tak, to prezentują inną stronę? Potrzebuję go tylko do pojedynczej strony (statyczny niestandardowy plik .html, więc prawdopodobnie nie muszę / nie mogę tego zrobić przez WP), nie ma potrzeby, aby był skalowalny.


title: Czy możliwe są niestandardowe szablony taksonomii?

text: Staram się, aby nad listą archiwalną tej taksonomii pojawiły się pewne informacje specyficzne dla terminu taksonomii. Przykład: taksonomia to „Sport”, gdzie piłka nożna, piłka nożna i baseball są terminami w obrębie taksonomii „Sport”. Chciałbym mieć mały opis każdego wyświetlenia sportowego nad stroną archiwum tego terminu. Badając tę możliwość, przeczytałem stronę Szablony kategorii, znalazłem wtyczkę, która wydaje się robić to, co chcę, ale tylko w odniesieniu do kategorii, a nie niestandardowych taksonomii. Zrobiłbym to z kategoriami, ale mam teraz wiele taksonomii i nie mogę już używać prostego rozwiązania kategorii :( Czy jestem gęsty, czy niestandardowe szablony taksonomii nie są możliwe?


title: Masowe przesyłanie obrazów i zmienianie kolejności funkcji

text: Szukam rozwiązania, może to być wcześniej istniejąca wtyczka lub kod, który umieściłem w moim pliku functions.php, który pozwoli mi wsadowo przesyłać obrazy do posta, a następnie mieć możliwość zmiany ich pozycjonowania. Wiem, że Wordpress domyślnie pozwala na wsadowe przesyłanie obrazów, więc zakładam, że rozwiązanie użyje tej funkcji. Ale według mojej wiedzy nie pozwala to na dostosowanie kolejności ich dołączania do postu. Powodem, dla którego muszę mieć możliwość zmiany kolejności obrazów przesyłanych zbiorczo, jest to, że na interfejsie użytkownika obrazy są wyświetlane jak mozaika, w której wiele obrazów tworzy jeden większy obraz w postaci siatki. **Scenariusz** : * Użytkownik tworzy nowy post. * Następnie użytkownik klika przycisk, który pokazuje narzędzie do przesyłania multimediów i pozwala mu przesłać całą masę obrazów naraz. * Obrazy są przetwarzane, a następnie kojarzone z postem. * Użytkownik może następnie zmienić kolejność dołączonych obrazów postów, które będą następnie wyświetlane w tej konkretnej kolejności na stronie głównej w pętli postów WP. Z góry dziękuję za twoją pomoc.


title: Jak sprawić, by skrypt php działał tylko z wp-cron

text: Mam skrypt php, który wykonuje funkcję i tworzy plik xml z wynikami. Chcę, żeby ten skrypt był uruchamiany tylko raz dziennie i używam do tego crona wordpress. Problem polega na tym, że ten skrypt zawsze działa przy wszystkich załadowanych stronach, a to jest złe, ponieważ jego ukończenie zajmuje więcej niż 30 sekund. Jak mogę zatrzymać to zawsze działa i sprawić, żeby działało tylko z wp-cron ? Czytałem o cronjob, ale mój host nie ma tej funkcji. Oto kod, którego używam na górze mojego pliku php: add_action( 'my_cron_hook', 'myfunction' ); if(!wp_next_scheduled('mój_cron_hook')) { wp_schedule_event(time(), 'codziennie', 'mój_cron_hook' ); } register_deactivation_hook( __FILE__, 'my_deactivate' ); function my_deactivate() { $timestamp = wp_next_scheduled( 'my_cron_hook' ); wp_unschedule_event ($ znacznik czasu, 'mój_cron_hook' ); } Chcę, aby skrypt był uruchamiany codziennie i zawsze w tle, nie powinno to wpływać na nawigację użytkownika. Dziękuję. Edytować. To wszystko skrypt kodu: add_action( 'cO_cron_hook', 'remoteHeader' ); if( !wp_next_scheduled( 'cO_cron_hook' )) { wp_schedule_event( time() + 24 * 60 * 60, 'codziennie', 'cO_cron_hook' ); } register_deactivation_hook( __FILE__, 'bl_deactivate' ); function bl_deactivate() { $timestamp = wp_next_scheduled( 'cO_cron_hook' ); wp_unschedule_event ($ znacznik czasu, 'cO_cron_hook' ); } set_time_limit(300); function remoteHeader($url){ $online = 'online'; $offline = 'offline'; $agent = "Mozilla/5.0 (kompatybilna; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)"; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$url ); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch,CURLOPT_VERBOSE,false); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_NOBODY, 1); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch,CURLOPT_SSLVERSION,3); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE); curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if($httpcode >= 200 && $httpcode < 400) return $online; w przeciwnym razie zwróć $httpcode; } /* utwórz dokument dom z kodowaniem utf8 */ $domtree = new DOMDocument('1.0', 'UTF-8'); /* utwórz element główny drzewa xml */ $xmlRoot = $domtree->createElement("xml"); /* dołącz go do tworzonego dokumentu */ $xmlRoot = $domtree->appendChild($xmlRoot); $currentSite = $domtree->createElement("witryna"); $bieżącaWitryna = $xmlRoot->appendChild($bieżącaWitryna); /* należy umieścić w kółku następujące dwie linie */ $site = remoteHeader("http://google.com/"); $currentTrack->appendChild($domtree->createElement('google',$site)); $site2 = remoteHeader("http://wordpress.com/"); $currentTrack->appendChild($domtree->createElement('wordpress',$site2)); ... header("Typ treści: tekst/zwykły"); /* wydruk xml */ echo $domtree->save('mytest.xml')


title: Oczyszczanie danych w celu rejestracji użytkownika i logowania użytkownika

text: Jakie rodzaje sanityzacji danych muszę wykonać, jeśli tworzę frontowy system logowania i rejestracji dla użytkowników wordpress? 1. Czy w przypadku funkcji logowania `wp_signon()` powinienem uciec od danych w celu ewentualnego wstrzyknięcia sql, czy wordpress zrobi to automatycznie za mnie? 2. Do rejestracji znalazłem do tej pory dwie funkcje `wp_insert_user()` i `wp_create_user()` oraz do aktualizacji użytkownika `wp_update_user()` Dla funkcji rejestracji myślę, że `wp_create_user()` zrobi to za mnie. Znowu, ile powinienem zrobić sanityzacji? Czy muszę haszować hasło? Znalazłem również kilka filtrów na stronie referencyjnej funkcji `wp_create_user()`. Są to `pre_user_user_pass`, `pre_user_user_login`, `pre_user_user_nicename` itp. Czy muszę użyć tych filtrów przed dodaniem nowego użytkownika?


title: Jak znaleźć źródło powolnych zapytań w Wordpressie?

text: Mam witrynę WordPress z ponad 8000 postów i za każdym razem, gdy dodaję nowy, witryna przestaje odpowiadać. Sprawdziłem dziennik powolnych zapytań MySQL i dowiedziałem się, że wykonuje on wybór, który zwraca większość wierszy w tabeli posts, a jego wykonanie zajmuje dużo czasu. Oto przykład: Query_time: 149.702704 Lock_time: 0.000078 Rows_sent: 4699 Rows_examined: 9398 Rows_affected: 0 Rows_read: 4699 use 488726_wp; SELECT `ID`, `post_author`, `post_date`, `post_date_gmt`, `post_status`, `post_name`, `post_modified`, `post_modified_gmt`, `post_parent`, `post_type` FROM `wp_posts` WHERE ((post_status = ' publikuj' AND (post_type = 'post' OR post_type = '')) LUB (post_status = 'publish' AND post_type = 'strona')) AND post_password='' ORDER BY post_modified DESC; Jak mogę znaleźć źródło tych zapytań?


title: Sprawdź, czy bieżący użytkownik ma post w typie posta i czy jest autorem

text: Chcę sprawdzić, czy bieżący użytkownik przesłał już post w naszym niestandardowym typie postu, a jeśli tak, i ma rolę autora, a następnie dodaj styl wbudowany do nagłówka, aby ukryć niektóre rzeczy. Oto, co próbuję, ale to nie działa i nie mogę zrozumieć dlaczego? function chelsea_user_has_posts($user_id) { $result = new WP_Query(array( 'author'=>$user_id, 'post_type'=>'ait-dir-item', 'post_status'=>'publish', 'posts_per_page'=> 1,)); return (liczba($result->posty)!=0); } funkcja cross_check_user_items() { $user = wp_get_current_user(); $chelseaRole = get_the_author_meta('poziom_użytkownika'); if ($user->ID) if (chelsea_user_has_posts($user->ID) && $chelseaRole == 1) { echo '<style type="text/css"> #adminmenuwrap ul#adminmenu li#menu-posts-ait -dir-item.wp-has-submenu ul.wp-submenu li:nth-child(2), body.post-type-ait-dir-item div.wrap h2 a.add-new-h2, #woocommerce- product-data.postbox div.inside div.panel-wrap ul.product_data_tabs li:nth-child(8) {display:none !ważne;} </style>'; } else { //pokaż towar } } add_action('admin_head', 'cross_check_user_items'); Wszystko to oczywiście jest w moim pliku functions.php Dzięki za zajrzenie :-)


title: Adresy URL mediów/załączników nie przekierowują z fałszywą strukturą adresu URL

text: Mam problem z plikami multimedialnymi/załącznikami i nie jestem do końca pewien, w jaki sposób WordPress zwraca adres URL, który to robi. Zauważyłem, że mogę dodać wszystko jako strukturę podkatalogów przed media slug, a WordPress zwróci nagłówek 200 i jakoś skieruje do właściwego nośnika. Na przykład: http://mysite.dev/asdfasdfadsfasdf/media-slug Kiedy poprawny adres URL powinien być: http://mysite.dev/media-slug Niepoprawny adres URL zwraca nagłówek HTTP 200, a szablon załącznika ładuje się poprawnie nawet przy poprawny plik. Myślałem, że dzieje się tak w wyniku czegoś w pliku canonical.php, ale po wielu testach, a nawet usunięciu wszystkiego w tym pliku (w środowisku testowym), WordPress nadal to robi. Jeśli zrobię to dla zwykłych postów, WordPress zwróci 301 i przekieruje do rzeczywistego adresu URL posta, czego się spodziewałem. Czy ktoś wie, czym różnią się media? Dzieje się tak na stronie, na której dużo się dzieje, ale wypróbowałem to również na super podstawowej instalacji WP w środowisku testowym. Struktura permalinka jest ustawiona na: /%postname%/ Czy to ustawienie permalinka jest częścią problemu?


title: Menu niestandardowe: Nazwy linków

text: Chciałbym zbudować motyw wordpress z niestandardowym menu (bez rozwijanych menu, nic nadzwyczajnego). Staram się, aby `wp_nav_menu` robił to, co chcę, ale nie bardzo widzę, jak osiągnąć następujące. Chciałbym nadać pozycjom menu różne nazwy, tj. jeśli mam stronę o nazwie `Classes`, chciałbym, aby link w menu nazywał się `clAssEs` (które stylizuję tak, aby były renderowane inną czcionką). Czy powinienem używać do tego pól niestandardowych? PS: Patrząc na wynik html, klasy elementów mojej listy menu to `page_item` i `page-item-21`. Czy to oznacza, że robię coś źle? Wygląda bardziej na to, że jest generowane przez `wp_page_menu`. Dzwonię `wp_nav_menu` z <?php wp_nav_menu(array( 'theme_location' => 'main-menu', 'menu_class' => 'menu', 'container_id' => 'none', 'fallback_cb' => 'wp_page_menu ')); ?>


title: $ wpdb pyta o typ postu w ramach określonego terminu taksonomii podczas porządkowania postów według niestandardowej wartości meta?

text: Mam niestandardowy typ wpisu „event”, niestandardowe pole meta „event_date” i niestandardową taksonomię „lokalizacje”. Chcę wysłać zapytanie $ wpdb, aby pobrać posty w ten sposób 1. posty muszą być typu postu „zdarzenie” 2. „zdarzenia” muszą być powiązane z określonym terminem $ location w ramach taksonomii „lokalizacje” 3. wyniki muszą być uporządkowane według niestandardowej wartości meta „event_date” (która w rzeczywistości jest datą w formacie rrmmdd), w porównaniu z dzisiejszą obecną datą. przejdź do tego zapytania): SELECT $wpdb->posts.* LEFT JOIN $wpdb->postmeta ON($wpdb->posts.ID = $wpdb->postmeta.post_id) LEFT JOIN $wpdb->term_relationships ON($wpdb ->posts.ID = $wpdb->term_relationships.object_id) LEWE DOŁĄCZENIE $wpdb->term_taxonomy WŁ.($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) LEWE DOŁĄCZENIE ->term_taxonomy.term_id = $wpdb->terms.term_id) FROM $wpdb->posts, $wpdb->postmeta GDZIE $wpdb->posts.ID = $wpdb->postmeta.post_id ORAZ $wpdb->terms.term_id = $location AND $wpdb->term_taxonomy.taxonomy = 'lokalizacje' AND $wpdb->posts.ID = $wpdb->postmeta.post_id AND $wpdb->posts.post_type = 'event' AND $wpdb->posts.post_status = 'publish' AND $wpdb->postmeta.meta_key = 'event_date' AND $wpdb->postmeta.meta_value > NOW() ORDER BY $wpdb->postmeta.meta_value LIMIT ASC $liczbapostów zapytanie nie działa; jeśli usunę część JOIN i część taksonomiczną, zadziała, porządkując wszystkie wyniki, porównując meta 'event_date' z datą NOW(). Myślę, że robię to źle z częścią taksonomiczną ... Zgodnie z radą, próbowałem wykonać WP_Query zamiast zapytania $wpdb: $args = array( 'post_type' => 'event', 'tax_query' => array( array( 'taxonomy' => 'locations', 'field' => 'id', 'terms' => $location // identyfikator terminu lokalizacji) ), 'meta_key' => 'event_date', // ta meta pole przechowuje datę zdarzenia w formacie rrmmdd 'meta_value' => $today, // to byłaby dzisiejsza data w formacie rrmmdd 'meta_compare' => '>=', 'posts_per_page' => $numberofposts, // ta zmienna przechowuje liczbę postów, które chcę otrzymać 'orderby'=> 'meta_value_num' ); Jednak w tym drugim przypadku zapytanie zwróci WSZYSTKIE posty w określonym post_type, niezależnie od jakiejkolwiek innej specyfikacji w $args, w tym kolejności sortowania, którą próbowałem za pomocą meta_query zamiast meta_key, ale wynik się nie zmienia


title: Zastąp wszystkie adresy URL obrazów posta adresami URL katalogu przesyłania

text: Na stronie WordPress dla klienta będzie publikował artykuły z dużą ilością obrazów. Gdy post zostanie zapisany/opublikowany, musimy mieć możliwość pobrania/zapisania tych obrazów na serwerze, a następnie zamiast ich wyświetlania oryginalne adresy URL, pokaż adresy URL obrazu tak, jak w katalogu przesyłania. Zdecydowałem się to zrobić, pisząc funkcję w `functions.php`, a następnie dodając ją jako filtr. Oto kod, który do tej pory napisałem: function getpostimgs() { global $post; $postContent = $post->post_content; preg_match_all( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $postContent, $matches ); // dopasuj wszystkie obrazy w poście , dodaj do tablicy, a następnie // pobierz pierwszą tablicę (tę z adresami URL obrazów) $imgURLs = $matches[1]; $upload_dir = wp_upload_dir(); // Ustaw foreach folderu wysyłania ( $imgURLs jako $imgURL ) { $image_data = file_get_contents( $imgURL ); // Pobierz dane obrazu $filename = basename( $imgURL ); // Utwórz nazwę pliku obrazu // sprawdź, czy przesłany plik istnieje i uprawnienia do niego są poprawne, jeśli( wp_mkdir_p( $upload_dir[' ścieżka'] ) ) { $file = $upload_dir['path'] .'/' .$filename . "-" .$post->ID . ".jpg"; } else { $file = $upload_dir['basedir '] . '/' . $nazwa_pliku . "-" . $post->ID . ".jpg"; } // zapisz plik na serwerze z nazwą pliku obrazu i identyfikatorem posta. file_put_contents( $plik, $image_data ); // zapisz plik na serwerze // znajdź wystąpienie każdego adresu URL (w treści postu) // który był w tablicy i zastąp je linkiem do pliku preg_replace( "*" . $imgURL . "*", $plik, $post->post_treść ); } } add_action('content_save_pre', 'getpostimgs'); Napisałem kilka komentarzy, więc mam nadzieję, że linie są wystarczająco wyjaśnione, abyś zrozumiał, co się dzieje. Problem polega na tym, że kiedy jest zapisany (za pomocą `content_save_pre`, aby filtrować przed zapisaniem do bazy danych), po prostu wymazuje całą zawartość. Pliki są zapisywane i wiem, że wartość `$matches[1]` jest poprawna (tj. są tam odpowiednie linki do obrazów), ponieważ sprawdziłem to za pomocą `var_dump()`. Więc coś jest nie tak z `preg_replace`. Nawet jeśli usuniesz wszystkie pliki i po prostu zostawisz `preg_replace` z prostym łańcuchem zastępczym (np. "Witaj świecie"), to nadal nie działa (nadal po prostu usuwa całą zawartość posta). Czy ktoś wie dlaczego? Dzięki za pomoc, mam nadzieję, że wyraziłem się wystarczająco jasno, chętnie udzielę więcej informacji lub wyjaśnię je :)


title: Czy można zaimportować wszystkie pliki z załadowanego katalogu DIR do nośnika WP, zachowując ścieżki do plików?

text: Więc mam uploads DIR z instalacji WP. Chcę przenieść to do mojej nowej witryny, zachowując wszystkie stare ścieżki - więc jeśli coś jest w 2011/08, ta ścieżka jest zachowywana, a plik zarejestrowany w sekcji mediów WP admin


title: Zdalna baza danych -> ogromny wzrost czasu odpowiedzi?

text: Mam serwer sieciowy nginx z najnowszym WordPressem i serwerem DB z MySQL 5.6. Między tymi dwoma serwerami występuje opóźnienie około 90-100 ms (opóźnienie w obie strony). Problem polega na tym, że uzyskanie odpowiedzi z mojego serwera WWW zajmuje około 5000 ms, jeśli uzyskuję zdalny dostęp do bazy danych (połączenie jest szyfrowane przez SSL) Dla porównania, dostęp do MySQL lokalnie zajmuje około 200 ms (zainstalowany serwer WWW i MySQL na jednej maszynie). 1. Dlaczego tak jest? Czy to dlatego, że WP ma wiele zapytań MySQL na stronę i czeka na zakończenie każdego z nich? Dlatego sumuje się: 100+100+100+100..=5000ms ? 2. Czy WP można zmodyfikować tak, aby wysyłał żądania z MySQL asynchronicznie, aby skrócić czas oczekiwania na pomyślne zakończenie żądania? Dziękuję Ci. :)


title: Pomóż dodać funkcję przesyłania obrazów do widżetu

text: Pracuję nad małym widgetem WordPress i próbuję go ustawić tak, aby użytkownik mógł przesłać obraz. Do tej pory niezbędne skrypty ładują się, ale kiedy klikam przycisk „Obraz biblioteki multimediów”, program do przesyłania obrazów nie pojawia się. Oto mój plik javascript: jQuery(document).ready(function($) { var formfield = null; $('#upload_image_button').click(function() { $('html').addClass('Image') ;formfield = $('#wp-ss-image').attr('name');tb_show('', 'media-upload.php?type=image&TB_iframe=true'); return false; }); // użytkownik wstawia plik do posta. Uruchom niestandardowy tylko wtedy, gdy użytkownik uruchomił proces za pomocą powyższego procesu // window.send_to_editor(html) to sposób, w jaki wp normalnie obsługiwałby otrzymane dane window.original_send_to_editor = window.send_to_editor; window.send_to_editor = function(html) { var fileurl; if (formfield != null) { fileurl = $('img',html).attr('src'); $('#wp-ss-image').val(fileurl); tb_remove() ; $('html').removeClass('Image');formfield = null; } else { window.original_send_to_editor(html); } }; }); Oto moje funkcje do wywoływania skryptów: add_action('admin_print_scripts-widgets.php', 'wp_ss_image_admin_scripts'); function wp_ss_image_admin_scripts() { wp_enqueue_script( 'wp-ss-image-upload', plugins_url( '/WP-Simple-Social/wp-simple-social-image.js' ), array( 'jquery','media-upload' ,'pudełko' ) ); } add_action('admin_print_styles-widgets.php', 'wp_ss_admin_styles'); funkcja wp_ss_admin_styles() { wp_enqueue_style( 'thickbox' ); } A oto html do wyświetlania pola wprowadzania i przycisku przesyłania obrazu: <p>Prześlij zdjęcie: <input id="wp-ss-image" class="widefat" type="text" size="75" name= "<?php echo $this->get_field_name( 'obraz' ); ?>" value="<?php echo esc_url( $obraz ); ?>" /> <input id="upload_image_button" type="przycisk" value ="Obraz biblioteki multimediów" class="button-secondary" /> Skoro ładują się wszystkie niezbędne pliki/skrypty, czy może to być problem z jQuery? Jeśli są jakieś dodatkowe informacje, które mogłyby pomóc, daj mi znać. Dzięki za pomoc.


title: Edytor motywów front-end Wordpress

text: Chciałbym zmienić mój panel opcji na front-end. Dzięki temu użytkownik może zobaczyć, co dzieje się z witryną. Zmiany muszą następować w czasie rzeczywistym. Przeszukałem wszystko, ale nie mogę znaleźć sposobu, aby to rozwiązać.


title: Jak mogę wykryć relacje hierarchiczne poza dziećmi (wnuk, prawnuk itp.)?

text: Często niestandardowy motyw dla Wordpress będzie wymagał dynamicznej zawartości, która odzwierciedla związek ze stroną najwyższego poziomu witryny. Czy istnieje tag warunkowy, który sprawdzi, czy bieżąca strona jest wnukiem (lub rozdzielona kolejnymi pokoleniami) według identyfikatora?


title: echo obecnego identyfikatora taksonomii dla tej pętli?

text: Mam to zapytanie, aby uzyskać posty i wyświetlić je w następujący sposób: Taksonomia niestandardowa 1 <div ID1> |-- post 1 |-- post 2 </div> Taksonomia niestandardowa 2 <div ID2> |-- post 3 |-- post 4 </div> Teraz muszę uzyskać aktualny identyfikator taksonomii dla każdej sekcji i wstawić do < div **ID** >. Jak zażądać i powtórzyć identyfikator w tym kodzie? <?php $taxid = get_the_terms( $post->ID , get_cat_slug() ); if($taxid) { foreach( $taxid as $xid ) { echo $xid->term_id; } } // dla danego typu postu, zwróć wszystkie $post_type = get_post_type(); $podatek = get_cat_slug(); $tax_terms = get_terms( $tax, array( 'hide_empty' => 1, 'orderby' => 'name', 'order' => 'ASC', )); if ($tax_terms) { foreach ($tax_terms as $tax_term) { $args = array( 'post_type' => $post_type, "$tax" => $tax_term->slug, 'post_status' => 'opublikuj', ' caller_get_posts' => 1, ); // KONIEC $args $my_query = null; $my_query = nowe WP_Query($args); if ($my_query->have_posts()) { ?> <div id="ID"> <!-- Potrzebuję tu wstawić identyfikator --> <?php while ($my_query->have_posts()) : $my_query- >post(); ?> <!-- Potrzebuję tutaj wstawić ID w HTML --> <?php endwhile; ?> </div> <?php } // KONIEC if have_posts pętla wp_reset_query(); } // END foreach $tax_terms } // END if $tax_terms ?> Dziękuję bardzo


title: Sugestie: Możliwość dostosowania obrazu nagłówka i kolorów stylu, które są różne dla każdej strony

text: Pracuję nad projektem, w którym każda strona powinna mieć niestandardowy obraz nagłówka i niestandardowe kolory stylu (obramowania itp.). Abym nie musiał tworzyć zupełnie nowego stylu za każdym razem, gdy tworzona jest strona, chciałbym, aby ktoś inny mógł edytować obraz i kolory w obszarze administracyjnym. Moją pierwszą myślą jest użycie pól niestandardowych, które można umieścić w adresie URL obrazu i kodach szesnastkowych. Ale to może być ponad głową ludzi, którzy będą tworzyć strony. Po prostu szukam wskazówek, jak to osiągnąć. Dziękuję!


title: Jak rozwiązać ten problem z moją subdomeną?

text: Moja witryna jest hostowana pod adresem http://blog.rgksugan.in. Ustawiłem w nim subdomenę dla mojego bloga. Ale po wylądowaniu na moim blogu, niezależnie od innych linków, które kliknę, otrzymuję link jako http://rgksugan.in/blog/wordpress/stack-overflow/. Chcę, żeby był to http://blog.rgksugan.in/stack-overflow Co mam zrobić...?


title: wp_get_nav_menu_items() zwraca pustą tablicę pod archiwum tagów

text: Mam trzy menu nawigacyjne i z jakiegoś powodu pod tagami archiwum wp_get_nav_menu_items('MenuName') zwraca pustą tablicę. Frontpage, posty, strony są w porządku, ale kiedy wchodzisz do archiwum tagów, żadne elementy nie są zwracane. Oto mój kod w functions.php: function vp_get_nav_items() { $items = array(); $items['foo'] = wp_get_nav_menu_items('foo'); $items['bar'] = wp_get_nav_menu_items('bar'); $items['xoo'] = wp_get_nav_menu_items('xoo'); zwróć $items; }


title: Jak wyświetlić zapytanie sql uruchomione w zapytaniu?

text: Natknąłem się wcześniej na funkcję, która wyświetlała dokładny kod SQL, który został na przykład użyty w pętli, ale nie pamiętam. Czy ktoś może mi powiedzieć, że funkcja? Twoje zdrowie


title: Wymuszanie oembedów na górę postu

text: Jaki jest najlepszy sposób, aby wymusić oembed (lub też shortcodes) na górę posta? Chciałbym wyróżnić embedy z YouTube przed rzeczywistą treścią artykułu, niezależnie od tego, gdzie wstawiono link. Jakieś pomysły?


title: WordPress Post - On Post - Nie znaleziono strony 404

text: Pomagałem przyjacielowi przy stronie internetowej. Wszystko wydaje się działać dobrze. Niektóre treści demo skonfigurowałem ręcznie. Ale dzisiaj wydarzyło się coś przewodowego. Kiedy próbujemy napisać post, powraca on do strony 404 nie znalezionej. Jedyne, co robiliśmy, to usuwanie postów i próba dodawania nowych. Scenariusz: Opublikuj post 1. Zaloguj się 2. Napisz post 3. „Publikuj” -> „404” strona @ trasa -> „wp-admin/post.php” Scenariusz: Prześlij media 1. Zaloguj się 2. Media -> nowy 3. Przeciągnij/upuść obraz 4. Błąd HTTP (na czerwono) Próbowałem: 1. Wyłączanie wtyczek 2. Zmiana motywu 3. Dodanie następujących elementów do .htaccess > # BEGIN 404 Fix > > SecFilterEngine Off SecFilterScanPOST Off > > # END 404 Naprawić Ale to nie naprawiło. Właśnie zauważyłem, ten sam problem występuje z innym blogiem hostowanym na tym samym koncie. Może być problemem hosta? Aktualizacje: Przesyłanie w starym stylu: wp-admin/media-new.php (OK) Przesyłanie w starym stylu (POST): wp-admin/media-new.php => 404 Publikowanie strony: wp-admin/post.php (GET = > OK, POST => nie ok - 404) Myślę, że odfiltrowuje wszelkie próby publikowania. Ale najdziwniejsze jest to, że każdy post zostaje zapisany (jako wersja robocza).


title: Podpięcie wp_enqueue_scripts nie jest wywoływane

text: Dodałem następujący kod do mojego `functions.php`: if(!function_exists('bi_frontend_scripts')) { function bi_frontend_scripts() { wp_enqueue_script('jquery'); // Pierwotnie chciałem zrobić: wp_enqueue_script('jQuery.bxSlider', get_bloginfo('template_url').'/scripts/jquery.bxslider/jquery.bxslider.min.js', array('jquery')); } } add_action('wp_enqueue_scripts', 'bi_frontend_scripts'); Ale najwyraźniej żaden ze skryptów nie jest kolejkowany. Nie zrozumiałem, na czym polega mój problem, więc dodałem ten skrypt, aby dowiedzieć się, czy wywoływany jest hak: function aal_handler() { static $list = array(); // wyklucz niektóre akcje: $exclude = array('gettext', 'gettext_with_context'); $akcja = bieżący_filtr(); if(!in_array($action, $exclude)) { $list[] = $action; } // zamknięcie jest ostatnią akcją if ('shutdown' == $action) { print '<pre>' . implode( "\n", $list ) . '</pre>'; } } add_action('all', 'aal_handler', 99999, 99); A na liście `wp_enqueue_scripts` nie pojawia się. Dlaczego więc haczyk się nie nazywa?!


title: zapobiegaj wyświetlaniu podkategorii

text:
utworzyłem filtrowalne portfolio za pomocą tego samouczka _http://wp.tutsplus.com/tutorials/creating-a-filterable-portfolio-with-wordpress-and-jquery/_ wszystko działa dobrze, ale również chwyta podtagi i jego post nie tylko główne tagi. jak mogę zatrzymać ten problem? <?php $terms = get_terms("tagportifolio"); $liczba = ilość($warunki); echo '
'; echo '
Wszystkie
'; if ( $count > 0 ){ foreach ( $terms as $term ) { $termname = strtolower($term->name); $termname = str_replace(' ', '-', $termname); echo '
'.$term->nazwa.'
 '; } } echo "
"; ?> <?php $pętla = new WP_Query(array('post_type' => 'projekt', 'posts_per_page' => -1)); $liczba =0; ?>

 <?php if ( $pętla ) : while ( $loop->have_posts() ) : $loop->the_post(); ?> <?php $terms = get_the_terms( $post->ID, 'tagportifolio' ); if ( $terms && ! is_wp_error( $terms ) ) : $links = array(); foreach ( $terms as $term ) { $links[] = $term->name; } $linki = str_replace(' ', '-', $linki); $tax = dołącz( " ", $linki ); inaczej : $tax = ''; endif; ?> <?php $informacje = get_post_custom_values('_url'); ?> <li class="portfolio-item <?php echo strtolower($tax); ?> all">
<a href="<?php the_permalink() ?>"><? php the_post_thumbnail( array(215, 215) ); ?>

<a href="<?php the_permalink() ?>"><?php the_title(); ?>

<a href="<?php the_permalink() ?>"><?php echo get_the_excerpt(); ?>

<a href="<?php the_permalink() ?>">Więcej szczegółów →

 <?php endwhile; else: ?>
Przepraszam, chwilowo brak wpisów w portfolio.
 <?php endif; ?>


title: pobierz wartości metakluczy wszystkich postów tylko z bieżącej kategorii

text: Mam problem z ustaleniem, jak pobrać wartości klucza meta tylko dla jednej kategorii. Mogę pobrać wszystkie wartości klucza meta (dla meta_key "city") we wszystkich kategoriach, bez problemu: $querystr = "SELECT $wpdb->posts.*,$wpdb->postmeta.* FROM $wpdb->posts, $wpdb->postmeta GDZIE $wpdb->posts.ID = $wpdb->postmeta.post_id AND meta_key = 'miasto'"; ale nie potrafię znaleźć sposobu na ograniczenie go do jednej kategorii. Za każdym razem, gdy próbuję zmodyfikować powyższe zapytanie za pomocą różnych sprzężeń lewych, wewnętrznych i prawych, nie otrzymuję niczego użytecznego. Jakieś pomysły? Idealnie byłoby filtrować według strony kategorii, na której się znajdujemy, ale jeśli potrzebuję stworzyć indywidualne strony kategorii, poradzę sobie z tym...


title: Jak wybrać kategorię nadrzędną, która będzie wyświetlana w przypadku korzystania z wielu kategorii niestandardowych?

text: Kiedy wpis znajduje się w dwóch lub większości niestandardowych kategorii, jak mogę określić nazwę kategorii nadrzędnej, którą chcę wyświetlić? Przykładem jest niestandardowy wpis typu „wycieczka”. Znajduje się w następujących kategoriach: * Żeglarstwo na Alasce * Alaska * Najlepiej sprzedające się wycieczki Chcę wyświetlać tylko nazwę kategorii „Alaska”, a nie inne.


title: W tym CSS i JS na ekranie administracyjnym opcji niestandardowego motywu

text: Tworzę niestandardowy motyw ze stroną opcji motywu. Chciałbym nadać styl stronie opcji i nie chcę dołączać stylów wbudowanych. Czy istnieje sposób na dołączenie zewnętrznego arkusza stylów z say TEMPLATEPATH . '/css/admin.css' Również znalazłem ten fragment kodu i wygląda na to, że działa - link function admin_register_head() { $siteurl = get_option('siteurl'); $url = $siteurl . '/wp-content/plugins/' . basename(dirname(__FILE__)) . '/twójstyl.css'; echo "<link rel='stylesheet' type='text/css' href='$url' />\n"; } add_action('admin_head', 'admin_register_head'); Jaka jest najlepsza droga?


title: Korzystanie z domyślnej funkcji przycinania niestandardowego nagłówka WordPress w typie posta / MetaBox

text: Nie jestem pewien, ilu z was eksperymentowało z nową funkcjonalnością niestandardowego obrazu nagłówka w wordpressie 3.0, ale w rzeczywistości jest to bardzo fajne (włączone przez dodanie funkcji do pliku functions.php). Jedną z kluczowych rzeczy, które uważam za niezwykle przydatne, jest to, że umożliwia przesłanie obrazu, a w kroku 2 faktycznie umieszcza obraz na stronie administratora i pokazuje pole przycinania w oparciu o szerokość/wysokość obrazu nagłówka, który był zdefiniowane w pliku functions.php. Masz teraz możliwość przesuwania pola lub proporcjonalnego zwiększania/zmniejszania rozmiaru obszaru, którego chcesz użyć. Problem, który mam tutaj, polega na tym, że chciałbym wykorzystać tę funkcjonalność z własnym niestandardowym typem posta. Mówiąc dokładniej, szukam możliwości włączenia funkcji przesyłania, definiowania szerokości/wysokości oraz funkcji zaznaczania/przycinania po przesłaniu obrazu. Myślę, że jeśli ktoś może pokazać, że można to zrobić, mogę stworzyć wszystkie inne funkcje, których szukam, dodając to do niestandardowego typu postu i kojarząc niestandardowe metaboksy. Czy ktoś może tu dostarczyć rozwiązanie?


title: Importowanie nośnika ustawień galerii obrazów / załączników graficznych

text: Niedawno zaimportowałem galerię obrazów do czystej instalacji WP podczas wdrażania witryny w aktywnej domenie. Zaimportowałem posty, ale obrazy używają średniego rozmiaru dla załączników. Chciałbym, aby wszystkie te ustawienia powróciły do ustawień, które skonfigurowałem podczas instalacji deweloperskiej. Czy ktoś ma pomysł, jak zmienić rozmiar już zaimportowanych załączników graficznych? Z góry dziękuję, J


title: Motyw wygląda brzydko - FOUC - arkusze stylów załadowane w stopce

text: Mój motyw wygląda dobrze i na razie działa, ale w pierwszych sekundach ładowania cały układ wygląda źle: http://andreapuiatti.de/screenshots/cssstylebug.png Myślę, że to dlatego, że css został załadowany z opóźnieniem, ale nawet pozycjonowanie wp_enqueue_style na górze moich functions.php nie robi żadnej różnicy Jakiś pomysł, jak to naprawić? Podąża za częścią functions.php // Załaduj arkusze stylów function addMyStyles() { wp_register_style('reset', get_template_directory_uri().'/reset.css'); wp_register_style('styl', get_template_directory_uri().'/style.css', array('reset') ); wp_enqueue_style('styl'); } add_action('wp_head', 'addMyStyles'); // Załaduj skrypty if ( !function_exists( 'core_mods' ) ) { function core_mods() { if ( !is_admin() ) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', ( "//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ), fałsz); wp_enqueue_script( 'jquery' ); } } add_action( 'wp_enqueue_scripts', 'core_mods' ); } function addMyScripts() { /*wp_register_script('modernizr', get_template_directory_uri().'/_/js/modernizr.js', null, false ); wp_enqueue_script( 'modernizr' );*/ wp_register_script( 'jwplayer', get_template_directory_uri().'/_/js/jwplayer.js', null, false ); wp_enqueue_script( 'jwplayer' ); wp_register_script('bootstrap', get_template_directory_uri().'/_/js/bootstrap.js', array('jquery'), false ); wp_enqueue_script( 'bootstrap' ); wp_register_script('spk_slide', get_template_directory_uri().'/_/js/slides.js', array('jquery'), false ); wp_enqueue_script( 'spk_slide' ); } //add_action('wp_enqueue_scripts', 'addMyScripts'); // Dodaj suwak do strony głównej function my_enqueue_stuff() { if ( is_front_page() ) { addMyScripts(); } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' ); ROZWIĄZANE: po badaniach dowiedziałem się, że nazwa efektu to FOUC (flash of unstyled content). Musiałem tylko zwiększyć priorytet funkcji, która dodaje arkusze stylów, aby dodać je do sekcji head: add_action( 'wp_enqueue_scripts', 'core_mods','2' ).


title: wp pobierz obraz załącznika zawsze daje mi miniaturę

text: Mam obraz, który powinien zostać wydrukowany na stronie. Miejsce jest ograniczone (szerokość-max = 209px). Teraz muszę dostarczyć obrazek w przeskalowanym rozmiarze, jeśli użytkownik tego nie zrobi. To jest mój kod: $src = wp_get_attachment_image_src($logo, 'full'); $szerokość = $src[1]; $wysokość = $źródło[2]; $nowa_szerokość = 200; $współczynnik = $szerokość/$nowa_szerokość; $nowa_wysokość = round($wysokość/$współczynnik); echo wp_get_attachment_image($logo, array($new_width, $new_height)) Ale użyty obraz to obraz miniatury (150x150), a szerokość i wysokość w kodzie HTML to 92! <img width="92" height="92" title="mój tytuł" alt="Logo" class="attachment-200x92" src="http://www.test.com/wp-content/uploads/2012 /07/logo-150x150.jpg"> W dokumencie jest napisane, że powinienem użyć opcji `dodaj rozmiar obrazu`, ale wysokość może być inna dla każdego zdjęcia. Co się dzieje z już przesłanymi zdjęciami? Jak mogę to naprawić? **Rozwiązanie:** `add_image_size( 'squeeze', 200, 1000, false );` i Regeneracja miniaturek zrobiły za mnie robotę.


title: Jak wykonać przekierowania 302 „w” WordPressie za pomocą wtyczki Redirection?

text: Planuję użyć wtyczki **Przekierowanie** do przekierowań. W opisie wtyczki czytamy, że umożliwia ona również przekierowania 302, ale nie wiem jak. Nie ma takiej opcji (patrz zrzut ekranu poniżej). ![Zrzut ekranu wtyczki Przekierowania](http://i.stack.imgur.com/DiV3C.png) Czy szukam w niewłaściwym miejscu? Czy ktoś wie, jak wykonać przekierowania 302 za pomocą wtyczki Przekierowania?


title: problemy z integracją zewnętrznego kanału rss z jquery

text:
Używam zewnętrznego pliku (feed_home.php), który jest ładowany za pomocą AJAX onclick. $(document).ready(function(){ $.ajaxSetup({cache:false}); $("#new a").click(function(){ var post_id = $(this).attr("rel" ) $(".featureline").html("ładowanie..."); $(".featureline").load(jQuery(this).attr("href")) return false; }); }); > feed_home.php ma następujący kod do załadowania amazon rss feed: <?php include_once(ABSPATH .WPINC . '/rss.php'); $feed = 'http://www.amazon.de/rss/new-releases/videogames/'; $rss = fetch_feed($feed); ?><?php if (!is_wp_error( $rss ) ) : $maxitems = $rss->get_item_quantity(3); $rss_items = $rss->get_items(0, $maxitems); if ($rss_items): echo "
\n"; foreach ( $rss_items as $item ): echo '
'; echo 'get_permalink() . '">' . $item->get_title() . "\n"; echo '
' . $item->get_description() . "
\n"; na każdym kroku; echo "
\n"; endif; endif; ?> Problem polega na tym, że zawsze otrzymuję ten błąd: include(stream.php) [function.include]: nie udało się otworzyć strumienia: Brak takiego pliku lub katalogu w /is/htdocs/...mojastrona/feed_home. php on line 2 Bez Ajaxa pojawia się kanał Amazon Rss. Dowolny pomysł? Dziękuję Ci! AD * * * Cóż, myślę, że powoli rozumiem, co to oznacza: Ale nie mam pojęcia, jak sobie z tym poradzić. "feed_home.php" musi mieć coś w rodzaju minimalnego otoczenia Wordpress, prawda? Ma to coś wspólnego z // Zatrzymaj ładowanie większości WordPressa, jeśli chcemy tylko podstaw. if ( SHORTINIT ) zwraca fałsz; Ale jak mogę sprawić, żeby to działało? Dziękuję Ci! OGŁOSZENIE


title: Pobieranie różnych statusów postów + liczenie jak w edit.php, na niestandardowej stronie podmenu

text:
Próbuję utworzyć stronę podmenu do zmiany kolejności postów/stron. W tej chwili próbuję dołączyć listę wyświetlającą różne statusy postów, na przykład: `Wszystkie (5) | Opublikowano (4) | Draft (1)` Kopałem w edit.php i odkryłem, że ciągnie listę w następujący sposób: `$wp_list_table->views();` Co doprowadziło mnie do class-wp-list-table.php, gdzie znalazłem to : widoki funkcji() { $screen = get_current_screen(); $views = $this->get_views(); $views = apply_filters( 'views_' . $screen->id, $views ); if (pusty( $widoki) ) return; echo "
\n"; foreach ( $views as $class => $view ) { $views[ $class ] = "\t
$view"; } echo implode( " |
\n", $views ) . "
\n"; echo "
"; } Tak więc, skoro sprawdza bieżący ekran, czy byłoby w jakiś sposób możliwe ustawienie mojego niestandardowego podmenu na "pozę" jako edit.php, chociaż tak nie jest? Lub jeśli jest na to łatwiejszy sposób. Z góry dziękuję


title: dostać backend do frontendu

text: próbuję połączyć ten niemiecki, zmusiłem go do pracy z tinymce, próbuję połączyć to z tym, wysyłaj posty do frontendu, byłbym zadowolony, gdyby ktoś zrobił podobne rzeczy lub poprowadził mnie w jakimś kierunku


title: ukryj/chroń oryginalne pełnowymiarowe obrazy

text: Miałem nadzieję, że możliwe będzie zapisanie oryginalnych obrazów w osobnym katalogu dla obrazów o zmienionym rozmiarze, aby można je było bezpiecznie ukryć, ale wydaje się to zbyt trudne. Więc teraz pytam, czy są jakieś sposoby ochrony oryginalnych obrazów w pełnym rozmiarze przed publicznymi, ale nadal pozwalają im oglądać obrazy o zmienionym rozmiarze. Nie mówię tu o ukrywaniu/ochronie obrazków na ekranie, a także o sposobach nadawania oryginalnym obrazom _niezgadujących_ adresów url lub jakiegoś takiego schematu, aby zapobiec ich ewentualnemu pobraniu. tj. `uploads/my_image-200x200.jpg` (biorąc pod uwagę ten adres URL) `uploads/my_image.jpg` (ten adres można łatwo opracować)


title: Dlaczego linki nie są połączone, jeśli edytowany komentarz?

text: Używam wtyczki `front end editor` do edycji postów. Działa to bardzo dobrze w postach, gdzie wszystkie linki są doskonale widoczne, jeśli edytowałem post. Z jakiegoś powodu, jeśli edytuję komentarz, a w poście są linki, nie widzę linków i nie mogę ich kliknąć, ponieważ nie są połączone. Muszę odświeżyć stronę, aby zobaczyć komentarz linkujący do miejsca, w którym linkowali... Czy istnieje rozwiązanie bez konieczności odświeżania strony? Dlaczego w ogóle tak się dzieje?


title: Integracja CRM i newslettera?

text: Korzystam już z WordPressa do tworzenia katalogu online i obecności w sieci. Teraz małe okienko każe ludziom wpisać swój adres e-mail i otrzymają wiadomość e-mail, gdy nowy produkt zostanie dodany do witryny (co jest przydatne). Teraz, po ręcznym wpisaniu e-maili lub poproszeniu ludzi o ich wprowadzenie, chciałbym mieć mały CRM do zarządzania tymi e-mailami, uzyskiwania nazwisk, telefonów, e-maili, adresów i referencji (dlaczego są w bazie danych) - wszystko w WordPressa. Tak więc, gdy dodawane są nowe treści lub gdy chcę wysłać wszystkie informacje o tych osobach (masowa wysyłka), mogę używać tego samego systemu, co do zarządzania moją witryną. Jakie rozwiązania wypróbowałeś i wykorzystałeś w tym celu?


title: Jak wyodrębnić dane z tablicy serializowanej post meta?

text: Znalazłem skrypt dekodujący XML do WP, który przechowuje dane jako tablicę w niestandardowym polu meta. Jaki jest najlepszy sposób na wydobycie informacji? Na przykład jak mogę wyświetlić pole „Wyprodukowano w” jako „KANADA”? `[_ttn_i_details] => Tablica ( [0] => a:5:{s:9:"id_silnika";a:1:{i:0;s:9:"300000225";}s:15:"id_transmisji ";a:1:{i:0;s:6:"257691";}s:5:"roślina";a:1:{i:0;s:23:"Oshawa, Ontario, Kanada";} s:15:"Wyprodukowano w";a:1:{i:0;s:6:"KANADA";}s:22:"Sekwencja produkcji";a:1:{i:0;s:6 :"151411";}} )` Powyższy przykładowy kod został wygenerowany przez `print_r(get_post_custom($post->ID));`. Naprawdę doceniam każdy wgląd, bez względu na to, jak mały. :)


title: Uruchom okno dialogowe „niezapisane zmiany” dla niestandardowych zmian meta postu

text: Używam niestandardowego typu postu z niestandardowymi polami meta, ale wydaje się, że automatyczne zapisywanie i okno dialogowe „niezapisane zmiany” nie są uruchamiane dla tych niestandardowych pól meta. Autozapis nie jest dla mnie tak ważny jak okno dialogowe niezapisanych zmian – czy istnieje sposób na jego wywołanie? function add_meta_boxes() { add_meta_box('places_location', __('Location'), array(&$this, 'location_box'), 'place', 'normal', 'high'); } function location_box($post) { wp_nonce_field(plugin_basename(__FILE__), 'places_location_nonce'); $lat = get_post_meta($post->ID, 'places_lat', true); $lng = get_post_meta($post->ID, 'places_lng', true); ?> <p> <label> Szerokość geograficzna: <input name="places_lat" value="<?php echo esc_attr($lat); ?>" /> </label> <label> Długość geograficzna: <input name="places_lng " value="<?php echo esc_attr($lng); ?>" /> </label> </p> <?php } function save_place($id) { // pomiń niezweryfikowane nonces lokalizacji if(!wp_verify_nonce($ _POST['places_location_nonce'], plugin_basename(__FILE__))) powrót; // pomiń wywołania autozapisu // komentowanie tego nadal nie powoduje zapisania tych pól podczas autozapisu //if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; // zaktualizuj naszą własną meta postu update_post_meta($id, 'places_lat', (float)$_POST['places_lat']); update_post_meta($id, 'places_lng', (float)$_POST['places_lng']); }


title: Usuwasz pierwsze 8-10 liter z posta?

text: Mam widżet, który pokazuje wszystkie nazwy postów. Wszystkie nazwy postów to „Rozdział ## – Tytuł” Chciałbym, aby php w widżecie usunął na przykład „Rozdział 1 –” lub „Rozdział 12 –”, aby pozostała tylko część po rozdziale....


title: Jak dodać atrybut „alt” do obrazu podczas przesyłania w interfejsie WP?

text: W WP Front-end tworzę formularz przesyłania dla użytkowników. Ten formularz ma trzy pola wejściowe (tytuł, tagi i przesyłanie). Dlatego chcę dodać " **Tytuł - Tag - nazwa_pliku**" jako atrybut `alt` dla obrazów podczas przesyłania pliku. Jak mogę zrobić z moim kodem poniżej? if ($gui == 'upload') { if (!function_exists('wp_generate_attachment_metadata')){ require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); } if ($_FILES) { foreach ($_FILES as $plik => $tablica) { if ($_FILES[$plik]['błąd'] !== UPLOAD_ERR_OK) { return "Błąd przesyłania:" . $_FILES[$plik]['błąd']; } $attach_id = media_handle_upload( $plik, $nowyPost ); } } if ($attach_id > 0){ //i jeśli chcesz ustawić ten obraz jako Post, użyj: update_post_meta($newPost,'Uploaded_Image_ID',$attach_id); } }


title: Jak ustawić opcje na podblogu w środowisku wielostanowiskowym?

text: Jak ustawić opcje dla konkretnego bloga z wieloma witrynami? Czy mogę zmienić blogi, wywołać `add_option`, a następnie przełączyć się z powrotem? Czy mogę również ustawić opcje dla witryny, która nie została jeszcze aktywowana? Kod: switch_to_blog($blog_id); update_option($id, $wartość); switch_to_blog($blog_id);


title: Pokaż liczbę postów w wordpressie zamiast liczby stron w paginacji wordpress

text: Używam funkcji numerowania stronicowania wordpress, działa dobrze, mam około 800 postów na stronie głównej, na każdej stronie wyświetlam 8 postów. Więc kiedy użytkownik kliknie na paginację, chcę pokazać 1-8 z 800. Pierwszy post z 8 w sumie 800, a następnie użytkownik klika drugą stronę - chcę pokazać 9-16 z 800, jak zaimplementować dużo badałem.


title: Szerokość 100%: proporcje obrazu

text: Jeśli dodaję obraz do posta, WordPress na stałe umieszcza atrybuty „width” i „height” w tagu „img”. Dodałem `max-width:100%` do mojego CSS, ale oczywiście, jeśli okno przeglądarki staje się mniejsze, obraz o zmienionym rozmiarze jest rozciągnięty na wysokość. Co mogę z tym zrobić? Czy jest sposób na: **A** : Rozwiąż to za pomocą CSS (wolałbym to)? **B** : Zabronić WP na szerokość i wysokość kodu? lub **C** : Czy istnieje powszechny sposób radzenia sobie z szerokościami obrazu, którego nie znam?


title: 2 pętle w archive.php (po jednej dla każdej kategorii)

text:
Mam niestandardowy typ wpisu skonfigurowany dla bloga z wiadomościami w budowanej przeze mnie witrynie, przy czym niestandardowy typ wpisu to „blog” składający się z 2 kategorii, „blog-image-post” ID=„3” i „blog-text” -post` ID=`4`. Chcę zapętlić każdą kategorię osobno, ponieważ każda z nich jest wyświetlana i stylizowana nieco inaczej w archiwum. Obecnie mam to:
 <?php if ( have_posts() ): while ( have_posts() ): the_post(); ?>

 <?php endwhile; endif; ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

 <?php the_title(); ?> etc etc etc

 <?php endwhile; endif; ?>
 Pierwsza pętla byłaby dla `blog-image-post` ID=`3` a druga pętla dla `blog-test-post` ID=`4`, nie jestem pewien, czy to jest w ogóle możliwe? Nie mogę tego rozgryźć, wszelkie sugestie byłyby bardzo mile widziane!


title: Niestandardowe fragmenty na stronę

text:
Próbuję ustawić konkretną stronę, aby używała określonej liczby znaków we fragmencie. Próbowałem użyć tego kodu, ale zepsuł witrynę: function wpse61271_custom_excerpt_length( $length ) { if ( is_front_page() XOR is_home() ) return 50; // zwróć domyślną długość return $length; } add_filter( 'długość_wypisu', 'wpse61271_custom_excerpt_length', 999 ); Czy istnieje alternatywny fragment kodu, który mógłby działać lepiej? EDYCJA: Oto pełna pętla, na wypadek, gdyby to pomogło: <?php while ( have_posts() ) : the_post(); ?> <a href="<?php the_permalink(); ?>">
<?php the_title(); ?>

<?php the_post_video(); ?>

 <?php funkcja wpse61271_custom_excerpt_length( $length ) { if ( is_front_page() XOR is_home() ) return 50 ; // zwróć domyślną długość return $length; } add_filter( 'długość_wypisu', 'wpse61271_custom_excerpt_length', 999 ); ?>
<a class="button" href="<?php the_permalink(); ?>">Czytaj więcej

 <?php endwhile; ?> <?php if(function_exists('wp_paginate')) { wp_paginate(); } ?>


title: Pętla WP_Query nie działa z moją niestandardową taksonomią

text:
Moja pętla nie wyświetla wszystkich odpowiednich postów, powinna wyświetlać wszystkie posty, które rozpoczęły się od konkretnej litery (jeśli „ ”, to powinna wyświetlić wszystkie posty posortowane według popularności) co z tym jest nie tak? $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; if ($first_letter!=' ') { $args = array ( 'posts_per_page' => $posts_per_page, 'taxonomy' => $term->taksonomia, 'term' => $term->name, 'post_type' => $post_type, 'orderby' => 'title', 'order' => 'ASC', 'paged' => $paged); } else {$args = array ( 'posts_per_page' => $posts_per_page, 'taxonomy' => $term->taxonomy, 'term' => $term->name, 'post_type' => $post_type, 'meta_key' = > 'post_views_count', 'orderby' => 'meta_value_num', 'showposts' => 160, 'order' => 'DESC', 'paged' => $paged); } $the_query = nowe WP_Query( $args ); $mam_global_where = ''; // Wyłącz filtr if ( $the_query->have_posts() ) { $in_this_row = 0; while ( $the_query->have_posts() ) { $the_query->the_post(); if ($first_letter!=' '&&$first_letter!='') { $first_letter = strtoupper(substr(apply_filters('the_title',$post->post_title),0,1));} if ($first_letter != $curr_letter) { if (++$post_count > 1) { end_prev_letter(); } start_new_letter($pierwszy_list); $bieżąca_litera = $pierwsza_litera; } if (++$in_this_row > $posts_per_row) { end_prev_row(); start_nowy_wiersz(); ++$w_tym_wierszu; // Konto dla tego pierwszego posta } ?> <a href="<?php the_permalink(); ?>" rel=.....
  <?php } end_prev_letter();


title: policz liczbę wyświetleń posta z wyłączeniem własnych wyświetleń

text: Używam wtyczki WP Post Views, aby wyświetlić liczbę wyświetleń posta. Aby to zrobić, używam: <?php if(function_exists('the_views')) { the_views(); } ?> Ta wtyczka daje 3 możliwości wyboru: * Zliczaj wyświetlenia od wszystkich * Zliczaj wyświetlenia tylko od gości * Zliczaj wyświetlenia tylko od zarejestrowanych użytkowników Moja witryna jest prywatną społecznością autorów. Stworzyłem kilka odznak, które są przyznawane automatycznie po spełnieniu pewnych warunków. Na przykład przyznaję odznakę autorowi, gdy jego post osiągnie określoną liczbę wyświetleń przez innych członków społeczności. (Używam `add_action( 'update_post_meta', 'award_badge'` w polu meta zaktualizowanym przez `the_views();` ) **Problem** polega na tym, że używana przeze mnie wtyczka może zwiększyć liczbę wyświetleń wiadomości, jeśli sam autor to widzi. Będzie dobrze, jeśli liczba wyświetleń wzrośnie tylko wtedy, gdy inni autorzy zobaczą post. Mam nadzieję, że moje wyjaśnienie jest wystarczająco jasne. Dziękuję za poświęcony czas. **Pytania:** Czy istnieje wtyczka, która zapewnia ta funkcja wykluczania własnej liczby odwiedzin postów z liczby wyświetleń? Czy istnieje fragment kodu, który może być dla mnie punktem wyjścia do stworzenia wtyczki licznika wyświetleń postów? Twoja zwykła pomoc jest mile widziana. **Edytuj po komentarzu S_Ha_Dum:** link do źródła kodu to: http://plugins.trac.wordpress.org/browser/wp-postviews/trunk/wp-postviews.php


title: Czy WordPress powinien dodawać opcje, aby zwiększyć bezpieczeństwo, czy pozostawić to programistom wtyczek?

text: Oparta na pasji zrodzonej z odpowiedziami na to pytanie. Wydaje się, że odpowiedzią jest głośne „Nic!” lub „zostaw to programistom wtyczek, WP jest już wystarczająco bezpieczny”... Więc myślę, że jestem daleko od podstaw z pytaniem? Wygląda na to, że poruszył gniazdo szerszeni, a nie taki był jego zamiar. Niemniej jednak, oto rzeczywisty wynik... Właśnie otrzymałem wiadomość e-mail od jednego z moich klientów, który zhakował 12 swoich witryn, ponieważ osoba atakująca złamała jego hasło. Jego komentarze otworzyły mi nieco oczy na możliwości bardzo łatwych opcji, które można dodać do rdzenia WordPressa, aby uczynić strony WP mniej podatnymi na tego rodzaju ataki. Najprostszą rzeczą, jaką może zrobić użytkownik, jest zmiana domyślnej nazwy użytkownika. Przypuszczam, że ponad 90% witryn WP na żywo ma profil użytkownika „administratora”, który może lub nie może być używany, ale który oczywiście ma pełne prawa i uprawnienia. Praca napastnika jest już w połowie wykonana! Ale rdzeń WP można również ulepszyć o kilka bardzo prostych opcji bezpieczeństwa. Jak trudno byłoby dodać... * Blokada nieudanych prób logowania (ustawienie zdefiniowane przez użytkownika) * Regulowanie czasu pomiędzy nieudanymi próbami logowania (ustawienie zdefiniowane przez użytkownika w sekundach) * Ograniczenie zakresu IP (ustaw listę adresów IP, z których logowanie jest akceptowane ) To tylko kilka rzeczy z mojej głowy. Jestem pewien, że macie też lepsze opcje. Moje pytanie nie dotyczy tego, co „użytkownicy” powinni robić, aby zwiększyć bezpieczeństwo, to zupełnie inne pytanie. Pytam, jakie kroki może podjąć WP, aby zapewnić niektóre OPCJE, nic obowiązkowego, ale rzeczy, które twórcy wtyczek muszą obecnie wypełnić luki, w których rzeczy powinny być częścią każdej domyślnej instalacji WP (IMHO). Czy któreś z tego rodzaju ulepszeń są planowane dla krótkoterminowych wydań WP?


title: Rozwijane menu css w niestandardowych menu

text: Utworzyłem kilka stron, a niektóre strony mają dzieci. Kiedy przechodzę do menu administratora wp, tworzę nowe menu i przeciągam wszystkie strony, w tym te ze stronami dla dzieci. Zauważyłem, że wszystkie menu są wyświetlane bez fajnych rozwijanych menu miał nadzieję zobaczyć. Czy to oznacza, że menu utworzone w wp admin nie mogą mieć rozwijanych menu?.


title: Czy można załadować stronę administracyjną w grubym pudełku?

text: Obecnie próbuję załadować niestandardową stronę administracyjną wewnątrz grubego pudełka. Służy do tworzenia nowych użytkowników z mnóstwem dodatkowych niestandardowych danych i żadną z rzeczy, na których mi nie zależy. Administratorzy mogą przejść do tej strony ręcznie i poza grubym polem, a użytkownik zostanie dobrze utworzony. Ale wyeksponowanie go w grubym pudełku okazuje się bardzo trudne. Powodem, dla którego potrzebuję go wyświetlić w grubym pudełku, jest to, że automatycznie przypisze nowego użytkownika do niestandardowego typu wpisu, który stworzyłem, o nazwie „biuro”, gdy nowy użytkownik zostanie utworzony za pomocą tego grubego pudełka. Myślę, że musi wykonać zdalne żądanie, ale żądanie wygasa, nawet jeśli zwiększę argument timeout do 30 sekund. Na początku myślałem, że wynika to z faktu, że przesyłam zdalne żądanie uzyskania strony administratora bez uwierzytelnienia, więc próbowałem uzyskać stronę główną witryny na interfejsie użytkownika i nadal otrzymywałem ten sam błąd przekroczenia limitu czasu. Dla tych z Was, którzy wolą czytać/edytować mój kod gdzie indziej, możecie to zrobić przez ten link - http://www.writeurl.com/text/65akmve9a5ofi7vbr4k0/8qma3hz8r0g9lgae5usp/ci2ipat23le7u66zl9c, w przeciwnym razie zamieściłem ten sam kod poniżej. # link do wywołania akcji, aby załadować addNewUser Thickbox printf( '%s', get_admin_url( get_current_blog_id(), "admin-ajax. php?action=addNewUser&width=640&height=400" ), __('Dodaj nowego użytkownika') ); # akcja po kliknięciu linku function getAddUserAdminPage() { $newUserPage = wp_remote_get( add_query_arg( array( 'page' => 'newUser', 'postID' => get_the_ID() ), get_admin_url( get_current_blog_id(), 'users.php' )) ); echo is_wp_error($newUserPage) ? $newUserPage->get_error_message() : wp_remote_retrieve_body($newUserPage); umierać(); } add_action('wp_ajax_addNewUser','getAddUserAdminPage');


title: Złożona struktura menu z 6 niestandardowymi hierarchiami typów postów

text: Zdecydowaliśmy się użyć Wordpress do tego klienta, ale nie pracowaliśmy z taką strukturą menu jak ta na Wordpress. **Te typy treści to te, które stworzyliśmy jako niestandardowe typy postów. Znajduje się poniżej:** * Magazyn * Artykuł w magazynie * Blog * Artykuł na blogu * Treść artykułu * Formularz * Nawigacja **Pierwszy poziom w menu jest statyczny:** * Magazyn * Informacje * Szukaj **Poziomy w magazynie:** * Czasopismo (typ postu w magazynie) * Link do innego czasopisma (typ posta w magazynie) * Link do artykułów z zawartością magazynu (typ postu dowolnego artykułu) * Link do archiwum czasopisma (typ postu Nawigacja) * Link do czasopisma (typ posta w magazynie) * Link do artykułów Zawartość Magazynu (Dowolny typ postu artykułu) **Poziomy w wyszukiwarce, które myślę, że dają się.** **Poziom informacji:** * Informacje (Typ postu nawigacji) * Zapoznaj się (Typ postu nawigacji) * PHD (Typ postu Nawigacja) * Formularz badania (Typ posta artykułu) * Zmiana adresu (Typ posta formularza) * Wiadomości (Typ posta nawigacji) * Oferty pracy (Typ posta blogu) * Post (Typ posta artykułu blogu) * Kontakt (Treść) typ postu) * Legitymacja studencka (formularz poz t type) Jest to niewielka ilość poziomów Info, które pokazują, że powinienem działać. A klient musi mieć możliwość dodania nowego poziomu, takiego jak nowa nawigacja do informacji. A klient musi być w stanie posortować menu wykluczając poziom 1. Używamy wtyczki Wordpress z nazwą post 2 post, aby połączyć typy postów między sobą. Artykuł może zawierać więcej niż jeden link z różnych typów postów. **Za pomocą posta 2 tworzę sposób, w jaki typy postów mogą być połączone ze sobą i jest to wymienione poniżej:** * Strony można połączyć z Nawigacją * Blogi można połączyć z artykułami na blogu, Nawigacją * Artykuł na blogu można połączyć z blogami * Formularz można połączyć z Nawigacją * Czasopismo można połączyć z Artykułami w Czasopiśmie, Nawigacją * Artykuł z czasopisma można połączyć z Czasopismami * Nawigację można połączyć z Czasopismem, Blogiem, Artykułem z treścią, Nawigacją, Formularzem, Stronami * Artykuły z treścią można połączyć z Nawigacją Problem w tym, że nie wiemy, jak najlepiej ułożyć menu dla klienta i dla nas. Wypróbowaliśmy wiele wtyczek i niestandardowego kodu i poświęciliśmy wiele godzin, aby porozmawiać o tym, jak możemy to rozwiązać. Ale teraz utknęliśmy z menu i bułką tartą. Obecnie adres URL znajduje się na poziomie głównym, np. http://aaa.local/hire-a-graduate/ w każdym niestandardowym typie posta. Czy ktoś tego doświadczył lub może udzielił porady, jak sprawić, by wszystko działało. Z góry dziękuję :)


title: Wielostronna domena bez www daje błąd rejestracji, ale powinna przekierowywać na www.domena.com

text: Używam Wordpress multisite i kiedy łączę się z moją domeną w domain.com, pojawia się błąd „Administrator witryny powitalnej! Obecnie zezwalasz na „brak” rejestracji. Aby zmienić lub wyłączyć rejestrację, przejdź do strony Opcje”. Czy powinienem utworzyć przekierowanie 301 z innego niż www do www.domena.com, czy istnieje sposób na skonfigurowanie wielu witryn do obsługi tego przekierowania? Dziękuję


title: Niestandardowy Javascript nie działa Wordpress Media Uploader

text: Natknąłem się na dziwny problem z moim JavaScript (jQuery) podczas próby modyfikacji zachowania mojego Media Uploader w Wordpress 3.5 ![Wybór filtra obrazu](http://i.stack.imgur.com/3tX3L.png) To był mój JQuery: $('.attachment-filters').change(function(){ if($(this).val() === 'uploaded'){ alert("Wybrano przesłane obrazy"); } else { alert( "Wybrano inną opcję"); } }); I to była część narzędzia do przesyłania multimediów, na którą chciałem zareagować: <select class="attachment-filters"> <option value="all" selected="selected">Wszystkie elementy multimedialne</option> <option value=" uploaded">Przesłano na tę stronę</option> <option value="image">Obrazy</option> <option value="audio">Dźwięk</option> <option value="video">Wideo</option> </select> Ku mojej wielkiej frustracji zadziałało to idealnie w fidle JS, jednak zawiodło żałośnie na moim ekranie administratora Wordpress...


title: jeśli plik_istnieje nie działa z wp_enqueue_style

text: Wewnątrz funkcji robię coś takiego: $optional_css_exists = get_template_directory_uri() . "/css/opcjonalne.css"; if ( file_exists($ Optional_css_exists)) { wp_enqueue_style('opcje', get_template_directory_uri() . '/css/opcjonalne.css', 'styl'); } Ale z jakiegoś powodu nie jest kolejkowane. Kiedy wysyłam echo $optional_css_exists, otrzymuję poprawną ścieżkę do pliku. Jeśli usunę instrukcję if, plik zostanie umieszczony w kolejce. Dlaczego plik nie jest umieszczany w kolejce, jeśli istnieje, a ścieżka jest poprawna?


title: Jak mogę filtrować według taksonomii na niestandardowej stronie typu posta?

text:
W tej chwili wyprowadzam powiązane kategorie do bieżącego wyświetlanego typu postu, jak pokazano poniżej. Używam `wp_list_categories`, aby wyświetlić listę kategorii i działa dobrze. Jedynym problemem jest to, że jest to wyświetlane w archive.php, a nie w pojedynczym poście, więc wyświetlane taksonomie odsyłają do ich głównego archiwum taksonomii. Chciałbym zamieścić link do archiwum taksonomii dla bieżącego typu postu (`$type`), a także dołączyć zapytanie, aby wyświetlić tę konkretną taksonomię. Podobne do linkowania do `http://example.com?post_type=foo&custom_tax=bar` <? $typ = get_post_type(); ?> <?php $customPostTaxonomies = get_object_taxonomies($type); if(count($customPostTaxonomies) > 0) { echo '
Przeglądaj według:
'; foreach($customPostTaxonomies as $tax) { $args = array( 'orderby' => 'name', 'show_count' => 0, 'pad_counts' => 0, 'hierarchical' => 1, 'taksonomia' => $ podatek, 'title_li' => '' ); $woah = pobierz_taksonomię($podatek); echo '
'; //var_dump($podatek); //var_dump($woah); //drukuj_r($woah); echo '
'.$woah->etykiety->nazwa.'
'; echo wp_list_categories ($args ); echo '
'; } } ?>`


title: „Automatycznie dodawaj nowe strony najwyższego poziomu” Domyślnie

text: Szukam sposobu na ustawienie domyślnej opcji „Automatycznie dodawaj nowe strony najwyższego poziomu” do zaznaczenia podczas tworzenia nowego menu. Niczego nie udało mi się znaleźć na ten temat - czy możesz mi pomóc? Dziękuję!


title: Błąd krytyczny: wyczerpano dozwolony rozmiar pamięci 146800640 bajtów (próbowano przydzielić 57 bajtów) w public_html/wp-includes/rewrite.php w wierszu 1561

text: Nie wiem jak/dlaczego to się stało. Pracowałem nad moją stroną przez weekend i wszystko było w porządku. Kiedy przyszedłem dziś rano do biura, wszedłem na stronę i otrzymałem to: Błąd krytyczny: wyczerpano dozwolony rozmiar pamięci 146800640 bajtów (próbowałem przydzielić 57 bajtów) w public_html/wp-includes/rewrite.php w wierszu 1561 i znalazłem kilka artykułów, które oferowały rozwiązania, ale żaden z nich nie działał dla mnie. Zauważyłem, że plik, który jest realizowany, jest zwykle inny w każdym przypadku. Mój to plik "rewrite.php". To może pomóc. Poza tym jestem zakłopotany. Wiem, że nadchodzą skargi klientów. Mam nadzieję, że wkrótce to naprawię. Co by to powodowało, więc wiem, żeby tego nie powtarzać (jeśli to ja to spowodowałem). Czy ktoś może w tym pomóc? **UPDATE** Zdefiniowałem limit pamięci w wp-config.php na 64M, a odwołanie do linii w błędzie to teraz 836 zamiast 1561. To jest kod dla linii 836: if ( is_array ( $uris )) { foreach ( $uris as $uri => $pagename ) { $this->add_rewrite_tag('%pagename%', "($uri)", 'pagename='); $rewrite_rules = array_merge($rewrite_rules, $this->generate_rewrite_rules($page_structure, EP_PAGES)); } } **UPDATE** Naprawiłem problem. Problem był w jakiś sposób związany z ustawieniami permalinka. Używam motywu CouponPress do wordpress. Po zwiększeniu limitów pamięci, jak sugerowano w większości rozwiązań (php.ini, wp-config.php, itp.), po prostu zmieniłem permalinki na domyślne, a następnie z powrotem na mój niestandardowy permalink. Wydaje się, że wszystko wróciło do normy. Dlaczego się to stało? Nie mam pojęcia. Nagle błąd pojawił się w poniedziałek rano i wszyscy byli szaleni (wściekli). _Chciałbym_ wiedzieć, co to spowodowało, abym mógł temu zapobiec w przyszłości, jeśli będę mógł. Dziękuję wszystkim, którzy pomogli mi z rzeczywistymi rozwiązaniami.


title: zaktualizuj informacje o użytkowniku

text: to jest mój kod /* Zaktualizuj informacje o użytkowniku. */ if ( !empty( $_POST['url'] ) ){ update_user_meta( $current_user->id, 'user_url', esc_url( $_POST['url']) ); else{ delete_user_meta( $current_user->id, 'user_url'); } if ( !empty( $_POST['twit'] ) ){ update_user_meta( $current_user->id, 'twitter', esc_attr( $_POST['twit']) ); else{ delete_user_meta( $current_user->id, 'twitter'); } if ( !empty( $_POST['face'] ) ){ update_user_meta( $current_user->id, 'facebook', esc_attr( $_POST['face']) ); else{ delete_user_meta( $current_user->id, 'facebook'); } if ( !empty( $_POST['gplus'] ) ){ update_user_meta( $current_user->id, 'googleplus', esc_url( $_POST['gplus']) ); else{ delete_user_meta( $current_user->id, 'googleplus'); } if ( !empty( $_POST['email'] ) ) update_user_meta( $current_user->id, 'user_email', esc_attr( $_POST['email']) ); if ( !empty( $_POST['first-name'] ) ){ update_user_meta( $current_user->id, 'first_name', esc_attr( $_POST['first-name']) ); else{ delete_user_meta( $current_user->id, 'first_name'); } if ( !empty( $_POST['nazwisko'] ) ){ update_user_meta($current_user->id, 'last_name', esc_attr( $_POST['last-name']) ); else{ delete_user_meta( $current_user->id, 'last_name'); } if ( !empty( $_POST['display_name'] ) ) update_user_meta($current_user->id, 'display_name', esc_attr( $_POST['display_name']) ); if ( !empty( $_POST['opis']) ){ update_user_meta( $current_user->id, 'opis', esc_attr( $_POST['opis']) ); else{ delete_user_meta( $current_user->id, 'opis'); } ale daje mi błąd serwera. to nie działa. co jest nie tak z moim kodem? Dziękuję.


title: Wordpress multisite, jeden motyw i różne języki?

text: Nie jestem pewien, czy to możliwe, na przykład mam bloga w języku angielskim, francuskim i włoskim, wszystkie używają tego samego motywu, chcę tylko, gdy gość jest na francuskiej stronie, na przykład, aby wyświetlić datę (niektóre ciągi, takie jak wyszukiwanie, następna strona, ...) po francusku, czy mogę to zrobić z lokalizacją motywu i jak skonfigurować multisite wordpress, aby korzystać z tej lokalizacji motywu?


title: Brak informacji zwrotnych podczas instalowania wtyczek lub aktualizacji

text: Od jakiegoś czasu mam ten problem; Miałem nadzieję, że zniknie, kiedy przeniosę się do nowego gospodarza, ale tak się nie stało. Za każdym razem, gdy próbuję zainstalować lub zaktualizować wtyczkę lub motyw, a nawet zaktualizować Wordpress, na stronie pojawi się po prostu „pobieranie pakietu instalacyjnego...”, ale jest to jedyna linijka, która się pojawia. Jeśli zostawię to na wystarczająco długi czas, operacja zakończy się pomyślnie, ale Wordpress wyświetli tylko pierwszy krok. Używam najnowszej wersji Wordpressa i wszystko jest aktualne. Czy ktoś wie, dlaczego tak się dzieje i jak to rozwiązać? Z góry dziękuję


title: Folder przesyłania dla konkretnego typu posta w 3.5

text: W wersji 3.4 użyłem następującej funkcji, aby zmienić folder przesyłania obrazów według typu posta. Inny katalog przesyłania oparty na typie posta w motywie Teraz nie działa już w wersji 3.5. Masz pomysł jak zastąpić tę funkcję w wersji 3.5? Dziękuję