title: Dynamicznie wykluczaj pozycje menu z wp_nav_menu

text:
Próbowałem poszukać informacji o tym, jak wykluczyć/usunąć elementy menu nawigacyjnego z menu niestandardowych, a jedyny wątek, który znalazłem, nie zawierał żadnych przydatnych dla mnie odpowiedzi. **1. Tło:** Stworzyłem menu Dock za pomocą niestandardowych menu WP (wp_nav_menu) i jqDock na mojej stronie. Ponieważ jqDock potrzebuje ciągłych obrazów lub linków do obrazów, aby działać magicznie, używam niestandardowego walkera, aby wynik HTML menu nawigacyjnego wyglądał następująco:
    itd...
 Kod mojego niestandardowego chodzika to: class custom_nav_walker extends Walker_Nav_Menu { var $tree_type = array( 'post_type', 'taksonomia', 'custom' ); var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' ); function start_lvl(&$wyjście, $głębokość) { $wcięcie = str_repeat("\t", $głębokość); $output .= "\n$indent
\n"; } function end_lvl(&$output, $depth) { $indent = str_repeat("\t", $depth); $output .= "$wcięcie
\n"; } function start_el(&$output, $item, $depth, $args) { global $wp_query; $wcięcie = ( $głębokość ) ? str_repeat( "\t", $depth ): ''; $nazwy_klasy = $wartość = ''; $klasy = puste( $item->klasy ) ? array() : (tablica) $item->classes; $classes[] = 'pozycja-menu-' . $pozycja->ID; $class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) ); $class_names = 'class="'.esc_attr($class_names).'"'; $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args ); $id = strlen( $id ) ? 'id="' .esc_attr($id) '"' : ''; //$wyjście .= $wcięcie . '
'; $atrybuty = ! pusty( $item->attr_title ) ? ' title="' .esc_attr( $item->attr_title) .'"' : ''; $atrybuty .= ! pusty( $item->target) ? ' target="' .esc_attr( $item->target) .''"' : ''; $atrybuty .= ! pusty( $item->xfn ) ? 'rel="' .esc_attr( $item->xfn) .'"' : ''; $atrybuty .= ! pusty( $item->url ) ? ' href="' .esc_attr( $item->url) .'"' : ''; $opis = ! pusty( $item->opis ) ? esc_attr( strtolower( $pozycja->opis )) : ''; $item_title = ! pusty( $item->attr_title ) ? esc_attr( $item->attr_title ): ''; if ( strpos($description, ';') !== false ) { $description_array = explode (';', $description); $nazwa_obrazu = $description_array[0]; $image_alt = $description_array[1]; } else { $nazwa_obrazu = $opis; $image_alt = $item_title; } $item_output = $args->before; $item_output .= ''; $item_output .= $args->link_before .''.$args->link_after; $item_output .= ''; $item_output .= $args->po; $wyjście .= zastosuj_filtry( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args ); } function end_el(&$output, $item, $depth) { $output .= ""; } } Skrypt jqDock następnie przechwytuje identyfikator menu ('menu-first') i zastępuje dane wyjściowe wp_nav_menu danymi z menu Dock. Dane wyjściowe HTML menu Dock zmieniają się w zależności od opcji określonych podczas ładowania jqDock. **2. Pytanie:** Chciałbym nie wyświetlać (tj. wykluczać) niektórych pozycji menu w zależności od tego, gdzie użytkownik znajduje się na stronie. Na przykład chciałbym pokazywać element Home tylko wtedy, gdy użytkownika nie ma w Home, a element postu Losowe tylko wtedy, gdy jest. **3. Odrzucone rozwiązania:** _a. Wiele menu:_ Rejestracja i tworzenie wielu menu, a następnie warunkowe wywoływanie ich może działać; jednak nie sądzę, że jest to idealne ani czyste rozwiązanie z wielu powodów. Ponadto wiele menu nie jest łatwych w utrzymaniu lub aktualizacji. _b. Regex Search and Replace:_ Może to zmusić mnie do zmiany parametru _needle_ za każdym razem, gdy zmieniam opcje jqDock, ponieważ dane wyjściowe HTML są modyfikowane. _c. Właściwość CSS „display”:_ Ukrywanie elementów za pomocą właściwości wyświetlania CSS działa, ale ponieważ musi być zastosowane do wyjścia menu jqDock, ma to wpływ na wizualne renderowanie menu. **4. Nieudane rozwiązania:** *a. Filtruj do wp_nav_menu_items*: Próbowałem złapać zmienną „$items” (ciąg znaków) i przypisać jej różne wartości za pomocą tagów warunkowych z następującym kodem: function userf_dynamic_nav_menu ($items) { $items_array_home = explode(„<a”, $items) ; $items_array_nothome = $items_array_home; unset($items_array_home[1]); unset($items_array_nothome[2]); $items_home = implode('<a', $items_array_home); $items_nothome = implode('<a', $items_array_nothome); if ( is_home() ) { $items = $items_home; } else { $items = $items_nothome; } return $items; } add_filter('wp_nav_menu_first_items', 'userf_dynamic_nav_menu'); Działa to tylko częściowo, ponieważ elementy menu się zmieniają, ale tagi warunkowe są ignorowane. Myślę, że ma to sens ze względu na moment, w którym stosuje się filtr. _b. Niestandardowa funkcja menu nawigacyjnego _ : Próbowałem utworzyć własną niestandardową funkcję menu nawigacyjnego, aby móc dodać argument wykluczenia do tablicy $ defaults i użyć tego nieco zmodyfikowanego kodu z `wp_list_pages` do wypełnienia dodatkowego argumentu: $ exclude_array = ( $ args ->wykluczyć) ? explode(',', $args->exclude) : array(); $args->exclude = implode(',', apply_filters('wp_nav_menu_excludes', $exclude_array) ); Jakieś pomysły?


title: Jak sortować niestandardowy typ postu według wielu niestandardowych pól?

text: Jak wyświetlić posty z niestandardowym typem „agenda” uporządkowane według niestandardowych pól „agenda_date”, a następnie według „agenda_time”? „Agenda_date” to niestandardowe pola daty. agenda_time to tekstowe pola niestandardowe Próbowałem tego, ale to nie działa: $agenda_arg = array('post_type' => 'agenda', 'cat' => $cat_id, 'posts_per_page' => -1, 'meta_query' = > array( 'key' => 'agenda_date', 'value' => date("Y-m-d"), 'compare' => '>=' ), 'orderby' => 'meta_value', 'meta_key' => ' agenda_date', 'orderby' => 'meta_value', 'meta_key' => 'agenda_time', );


title: Większość parametrów wp_nav_menu jest ignorowana

text:
Próbuję uzyskać tekstowe menu nawigacyjne w stopce mojej witryny. Używam parametrów `wp_nav_menu()` zgodnie z zaleceniami Codex. Jest to fragment kodu (w `footer.php`):
 <?php wp_nav_menu(array('depth'=>1, 'after'=>'|')); ?>

...

...

. ..

 Moim celem jest więc sprawienie, aby menu wyglądało jak `Strona główna | O | MorePages` zawiera tylko strony poziomu głównego. ## Problem: parametr `after` jest ignorowany! Jeśli spróbuję `before` i `items_wrap` wraz z innymi parametrami, są one również ignorowane. Udało mi się uruchomić `after_link` i `before_link`, a także `głębokość`. Próbowałem uciec od rzeczy i nie przekazywać HTML, ale to nie pomaga. Buduję w oparciu o motyw Sandbox, ale `nav-menu-template.php` i `nav-menu.php` pojawiają się bez zmian w stosunku do jądra WP. **Jak mogę sprawić, by te parametry niestandardowe działały?**


title: Jak włączyć członków BuddyPress w całej witrynie w trybie multisite?

text: Zainstalowałem buddypress i mu wordpress. Chcę, aby użytkownicy, grupy i działania działały w całej witrynie. Każda witryna będzie miała grupy, do których nie mają dostępu inne witryny. Każda witryna ma aktywność specyficzną dla witryny. Dodałem define ('BP_ENABLE_MULTIBLOG', true); w pliku `wp-config.php`. Ale to nie jest tworzenie członków, grup i działań w całej witrynie. Jak mogę to zrobić?


title: Jak uzyskać obiekt postu w szablonie bloga

text: Mam duży problem z przechwytywaniem atrybutów z globalnego `$post_object` w pliku szablonu strony. Mam `Nazwa szablonu: Strona bloga`, którą jest `template-blog.php` Na tej stronie używam permalinka bieżącej strony, aby załadować więcej postów za pomocą Ajax. Więc w zasadzie robię Ajax Requests w tym samym URL, a na `template-blog.php` jest warunek, jeśli `$_POST['load_more']` jest prawdziwe, jeśli tak, to zwracam część postów. Mój problem polega na tym, że nie mogę uzyskać identyfikatora strony lub permalinka do strony za pomocą zmiennej `$post`, gdy ta strona jest ustawiona jako strona blogu na WordPress (Ustawienia-Czytanie-Strona postów). Kiedy `template-blog.php` jest skonfigurowany jako strona postów, zmienna `$post` jest pierwszym postem, który `$wp_query` ma na swojej tablicy postów. Mam nadzieję, że byłem wystarczająco jasny. ### Opis Na normalnej stronie Stan Permalink to Strona Permalink: get_header(); $link = get_the_permalink(); Ale kiedy ta strona jest ustawiona jako strona postów, permalink jest permalinkiem dla pierwszych postów na $wp_query: get_header(); $link = get_the_permalink();


title: product_tag do stylizacji obrazu

text: Chcę stylizować zdjęcia produktów w zależności od tagów produktów (nie tylko pierwszego tagu, ale wszystkich). Używam tego: <img class="<?php echo get_the_term_list( $post->id, 'product_tag'); ?>" i nie działa, ponieważ Woocommerce/Wordpress stylizuje tagi produktu jako link. Pomoc doceniona!


title: Używasz wp_enqueue_script z przyciskami mediów społecznościowych?

text: Chcę umieścić w motywie przycisk udostępniania społecznościowego. Poniżej znajduje się standardowy kod do osadzenia przycisku Twittera. Tweetuj  Jednak WordPress zaleca użycie `wp_enqueue_script` w celu dołączenia dowolnego rodzaju kodu javascript . Zastanawiam się więc, jak mogę poprawnie umieścić powyższy kod skryptu w motywie WordPress? Dziękuję.


title: Po co wykonywać the_post()?

text: Kiedy otrzymuję niestandardowe typy postów za pomocą WP_Query->query(), tak naprawdę nie jest konieczne wykonywanie funkcji the_post(), ponieważ możesz iterować po tablicy wyników zapytania. Czy jest to uważane za dobre zachowanie, czy naprawdę jest to tylko metoda przekonująca?


title: Niestandardowy przycisk widoku typu posta w panelu administracyjnym powoduje błąd 400

text: Mam niestandardowy typ posta, Project: /*********************************** Projekty Niestandardowy typ posta ***** **************************/ add_action( 'init', 'register_cpt_project' ); function register_cpt_project() { $labels = array( 'name' => _x( 'Projekty', 'projekt' ), 'singular_name' => _x( 'Projekt', 'projekt' ), 'add_new' => _x( ' Dodaj nowy', 'project' ), 'add_new_item' => _x( 'Dodaj nowy projekt', 'project' ), 'edit_item' => _x( 'Edytuj projekt', 'project' ), 'new_item' => _x ( 'Nowy projekt', 'project' ), 'view_item' => _x( 'Wyświetl projekt', 'project' ), 'search_items' => _x( 'Wyszukaj projekty', 'project' ), 'not_found' => _x( 'Nie znaleziono projektów', 'project' ), 'not_found_in_trash' => _x( 'Nie znaleziono projektów w Koszu', 'project' ), 'parent_item_colon' => _x( 'Projekt nadrzędny:', 'project' ) , 'menu_name' => _x( 'Projekty', 'projekt' ), ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'excerpt' ), 'taxonomies' => array( 'project_categories' ), 'public' => prawda, 'show_ui' => prawda, 'show_in_menu' => prawda, 'show_in_nav_menus' => prawda, 'publicly_queryable' => prawda, 'exclude_from_search' => fałsz, 'has_archive' => prawda , 'query_var' => true, 'can_export' => true, //'rewrite' => true, 'rewrite' => array('slug' => 'nasza-praca/%project_categories%', 'with_front' = > false), 'capability_type' => 'post' ); register_post_type( 'projekt', $args ); } I taksonomia, Kategorie projektów: /*********************************** Taksonomia kategorii projektów ******* ************************/ add_action( 'init', 'register_taxonomy_project_categories' ); function register_taxonomy_project_categories() { $labels = array( 'name' => _x( 'Kategorie projektów', 'project_categories' ), 'singular_name' => _x( 'Kategoria projektu', 'project_categories' ), 'search_items' => _x ( 'Wyszukaj kategorie projektów', 'project_categories' ), 'popular_items' => _x( 'Popularne kategorie projektów', 'project_categories' ), 'all_items' => _x( 'Wszystkie kategorie projektów', 'project_categories' ), 'parent_item ' => _x( 'Kategoria projektu nadrzędnego', 'project_categories' ), 'parent_item_colon' => _x( 'Kategoria projektu nadrzędnego:', 'project_categories' ), 'edit_item' => _x( 'Edytuj kategorię projektu', 'project_categories ' ), 'update_item' => _x( 'Aktualizuj kategorię projektu', 'project_categories' ), 'add_new_item' => _x( 'Dodaj nową kategorię projektu', 'project_categories' ), 'new_item_name' => _x( 'Nowy projekt Kategoria', 'kategorie_projektu' ), 'separate_items_with_commas' => _x( 'Separa kategorie projektów z przecinkami', 'project_categories' ), 'add_or_remove_items' => _x( 'Dodaj lub usuń kategorie projektów', 'project_categories' ), 'choose_from_most_used' => _x( 'Wybierz spośród najczęściej używanych kategorii projektów', ' project_categories' ), 'menu_name' => _x( 'Kategorie projektów', 'project_categories' ), ); $args = array( 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, 'show_ui' => true, 'show_tagcloud' => true, 'show_admin_column' => false, 'hierarchical ' => true, //'rewrite' => true, 'rewrite' => array('slug' => 'nasza-praca'), 'query_var' => true ); register_taxonomy( 'kategorie_projektu', array('projekt'), $args ); } add_action( 'init', 'register_cpt_leadership' ); W moim szablonie archiwum taksonomii buduję adres URL, aby zawierał termin taksonomii. Jeśli więc „Projekt A” znajduje się w kategorii „Niesamowite rzeczy”, adres URL wyświetla się jako: [moja domena]/nasza-praca/niesamowite_rzeczy/projekt-a Wszystko to działa idealnie na interfejsie użytkownika. To, co nie działa, to klikanie przycisków po stronie administratora, aby wyświetlić projekt. Jeśli edytuję „Projekt A” i klikam przycisk Wyświetl projekt pod sekcją bezpośredniego linku lub przycisk Podgląd zmian po prawej stronie. ![Przycisk Wyświetl projekt](http://i.stack.imgur.com/1cnyD.jpg) Zwraca stronę 400 Bad Request i wysyła przeglądarkę do: [moja domena]/our-work/%project_categories%/ project-a Jak mogę sprawić, aby przyciski podglądu/podglądu w panelu administracyjnym trafiły do: [moja domena]/nasza-praca/kategorie_projektu/projekt-a Ten adres URL działa, a ponieważ linki podglądu nie są powiązane z konkretną taksonomią, byłoby to preferowane rozwiązanie. **EDYTUJ:** Nie jestem pewien, czy dobrze to wyjaśniam. Nie muszę zmieniać sposobu, w jaki permalinki są obsługiwane w całej witrynie. Wszystko, czego potrzebuję, to sposób na podpięcie się pod dowolny link w sekcji administratora (przycisk na zdjęciu powyżej, przycisk podglądu i linki Wyświetl na stronie listy). Muszę po prostu ustawić zmienną %project_categories% na „project_categories”, jeśli link jest generowany przez administratora.


title: Wyświetl tylko 1 kategorię z get_the_category (według identyfikatora lub ślimaka)

text: Po godzinach bezowocnego Googlingu proszę o pomoc w tej sprawie. Moim celem jest wyświetlenie tylko 1 kategorii z get_the_category, jeśli identyfikator kategorii odpowiada identyfikatorowi lub slugowi ustawionemu w funkcji get_the_category. W zasadzie proszę o coś takiego: powiedzmy, że istnieje kategoria zatytułowana „ważne”. Chcę wykluczyć wszystkie inne kategorie przypisane do wpisu i wyświetlać „ważne” tylko wtedy, gdy wpis należy do tej kategorii. Jeśli post nie jest ważny, nic nie powinno być wyświetlane. To powinno być zbyt trudne, ale mogłem to rozgryźć. Oto najbliższa rzecz, którą znalazłem, ale wyświetla tylko pierwszą kategorię dla postu, bez opcji ręcznego wyboru według identyfikatora lub ślimaka: <?php $category = get_the_category(); if($category[0]){ echo 'term_id ).'">'.$category[0]->cat_name.'' ; } ?> Dziękuję za Twój wkład.


title: Długość fragmentu: pobierz pierwszy akapit

text: Próbuję dowiedzieć się, czy można uzyskać fragment z każdego postu, chwytając pierwszy akapit z każdego z nich. Obecnie używam wtyczki ACF i mam niestandardowe typy postów i niestandardowe pola. Oto mój kod: function custom_field_excerpt() { global $post; $text = get_field('news'); if ( '' != $text ) { $text = strip_shortcodes( $text ); $tekst = zastosuj_filtry('zawartość', $tekst); $text = str_replace(']]>', ']]>', $text); $długość_wypisu = 20; // 20 słów $text = wp_trim_words( $text, $excerpt_length, $excerpt_more ); } return apply_filters('the_excerpt', $text); } Działa to świetnie, ale przycina tylko pierwsze 20 słów (lub dowolną liczbę słów), próbuję to dostosować, aby pobrać pierwszy akapit każdego postu zamiast pierwszych 20 słów. Czy to w ogóle możliwe?


title: Oddzielna biblioteka mediów dla każdego użytkownika

text: Tworzę motyw dla klienta i jednym z jego żądań jest umożliwienie użytkownikom przesyłania obrazów do własnego użytku, ale może istnieć opcja udostępniania obrazów. Oto niektóre z zastrzeżeń: * Każdy użytkownik ma możliwość przesyłania własnych obrazów do własnej Biblioteki mediów. * Te obrazy muszą mieć możliwość „otagowania” dokładnie tak, jak teraz „tagujemy” „posty”. * Administrator może również zarządzać tymi obrazami. Po pierwsze, czy jest to możliwe i czy możliwe jest utworzenie taksonomii „tagów” dla obrazów? Dzięki za pomoc.


title: Edycja motywu do zastosowania Współautorzy Plus

text:
Próbuję zaimplementować wtyczkę Co-Authors Plus. Mówi, że będziesz musiał zmienić trochę PHP w motywie. Dokumentacja przedstawia zmiany. Wierzę, że znalazłem miejsce, w którym powinienem to zmienić w moim motywie. W pliku `post-author-info.php`: <?php /** * Informacje o autorze posta * * @package WP Journal * @subpackage Dołącz */ ?>
 <a href="<?php the_author_meta('url'); ?>"><?php echo get_avatar( get_the_author_meta('email'), '80' ); ?>
<?php _e('Przez', 'Współczesny'); ?>: <a href="<?php the_author_meta('url'); ?>"><?php the_author(); ?>

<?php the_author_meta('opis'); ?>

 Wystarczy dodać tę linię: <?php if ( function_exists( 'współautorzy' )) { współautorzy(); } inny { autor_(); } ?> …wydaje się dawać mi coś, czego chcę. Wyświetlane są zarówno „Admin” i „Andrew Gable”. ![](http://i.imgur.com/Po5jPLs.png) Ale nie jestem pewien, jak uzyskać prawidłowe łącze i jak obsługiwać zdjęcia i wiele biografii.


title: Zmniejszenie zapytań do bazy danych w kodzie

text:
Czy mogę zmniejszyć zapytania, kompresując to? Czy mogę zmniejszyć zapytania, jeśli mogę, jak mogę to zrobić? Uwaga : obrazy mają inny rozmiar http://oi55.tinypic.com/rwp3ex.jpg

Pomieszanie światła cinematografiei

 <?php $recentPosts = nowe WP_Query(); $recentPosts->query(array( 'post_type' => 'stiri', 'showposts' => 1, 'offset'=>0, 'taxonomy' => 'stire', 'stire' => 'articole-speciale' ) ); ?> <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php $fragment = the_title();echo string_limit_words($excerpt,5);? >
<a href="<?php the_permalink() ?>"><img src="/scripts/timthumb.php?src=<?php the_field('imagine_stire' ); ?>&h=240&w=418&zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

 <?php $wyciąg = get_the_excerpt();echo string_limit_words($wyciąg,80);?><a class="detalii" href="<?php the_permalink() ?>" rel="zakładka " title="<?php printf(__('Wymieszanie %s'), the_title_attribute('echo=0')); ?>">...szczegóły <?php endwhile; ?>
 <?php $recentPosts = nowe WP_Query(); $recentPosts->query(array( 'post_type' => 'stiri', 'showposts' => 6, 'offset'=>1, 'taxonomy' => 'stire', 'stire' => 'articole-speciale' ) ); ?> <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>

<img src="/scripts/timthumb.php?src=<?php the_field('imagine_stire'); ?>&h=40&w=40&zc= 1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

<a href="<?php the_permalink() ?>"><?php $mytitle = get_the_title(); if ( strlen($mytitle) >60 ) $mytitle = substr($mytitle,0,60); echo $mojtytul; ?>

 <?php endwhile; ?>

 <?php $recentPosts = nowe WP_Query(); $recentPosts->query(array( 'post_type' => 'stiri', 'showposts' => 5, 'offset'=>1, 'taxonomy' => 'stire', 'stire' => 'articole-speciale' ) ); ?> <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>

<a href="<?php the_permalink() ?>"><img src="/scripts/timthumb.php?src=<?php the_field('imagine_stire'); ?>&h=77&w=218&zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

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

 <?php endwhile; ?>

 <?php $recentPosts = nowe WP_Query(); $recentPosts->query(array( 'post_type' => 'stiri', 'showposts' => 4, 'offset'=>1, 'taxonomy' => 'stire', 'stire' => 'articole-speciale' ) ); ?> <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?>

<a href="<?php the_permalink() ?>"><img src="/scripts/timthumb.php?src=<?php the_field('imagine_stire'); ?>&h=77&w=143&zc=1" alt="<?php the_title(); ?>" title="<?php the_title(); ?>" />

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

 <?php endwhile; ?>


title: Instalujesz Wordpress w innej instalacji?

text: Próbuję zainstalować jedną witrynę Wordpress w innym katalogu na tym samym serwerze co inny i uzyskać do niej dostęp jako podkatalog witryny. Może to lepiej opisuje strukturę pliku: public_html/ index.php wp/ # instalacja główna 2012/ # instalacja dodatkowa Pożądana struktura adresu URL: mojadomena.com/ (wskazuje na główną instalację w folderze **wp**) mojadomena. com/2012/ (wskazuje to na dodatkową instalację w folderze **2012**) Mogę stwierdzić, że baza danych jest prawidłowo podłączona w obu instalacjach. Podstawowa instalacja działa dobrze, ale myślę, że ustawienia permalinku podstawowej instalacji zakłócają żądania instalacji dodatkowej. Czy ktoś ma jakieś sugestie? Plik .htaccess w folderze głównym: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond . /index.php [L] </IfModule> # KONIEC WordPress


title: Nieprzechwycony błąd referencyjny: jQuery nie jest zdefiniowane . Jak poprawnie to zdefiniować?

text: Poniższy kod jest w tym samym skrypcie php. Ale otrzymuję `Uncaught ReferenceError: jQuery nie jest zdefiniowany` w debugerze chrome. validate.js znajduje się w plugins/validate/validate.js Wiem, że to jest problem, ponieważ próbowałem validate.js, gdy nie używam wordpress, włączając go zewnętrznie i działało dobrze. Używam poniższego kodu na stronie. Jakie są rozwiązania proszę? add_action( 'init', 'load_jquery' ); funkcja load_jquery() { wp_enqueue_style( 'jquery'); } function add_my_css_and_my_js_files() { wp_register_script( 'sprawdź', plugins_url( '/sprawdzaj.js', __PLIK__) ); } add_action( 'wp_enqueue_scripts', "dodaj_my_css_and_my_js_files" );


title: API do tworzenia blogów na Multisite?

text: Czy istnieje jakiś interfejs API lub wtyczka, która pozwala na tworzenie witryn w instalacji wielostanowiskowej? Wydaje się, że Jetpack na to nie pozwala, a plik RPC xml nie obsługuje wielu witryn. Czy jest coś, czego mogę użyć jako interfejsu API JSON lub innego rodzaju wywołania http, aby to zrobić?


title: Co może spowodować obcięcie opcji WP?

text: Mam wtyczkę WP, w której wszystkie wartości pól ustawień administratora zostały nagle zmienione na literę „a”. Wszystkie ustawienia są przechowywane w jednej „dużej” opcji w tabeli. Wyglądało na to, że serializacja poszła nie tak. Uruchamiam `var_dump` na wartości `get_option` i zwraca obcięty ciąg, a nie tablicę jak zwykle. Zaktualizuję pytanie, gdy będę mógł ponownie odtworzyć skrócony ciąg. Używam tylko przycisku „Zapisz zmiany” i pozwalam interfejsowi API opcji WP zapisywać do opcji, pobierając wartości z pól HTML, które użytkownik może zmieniać lub które są ukryte. Czy istnieją jakieś znaki specjalne lub podobne, które mogą uniemożliwić prawidłowe zapisanie opcji, co może spowodować obcięcie tablicy serializowanej? Przyczyna ma coś wspólnego z Instagramem lub nazwą użytkownika Instagrama.


title: Wyświetlaj strony z określonego szablonu strony

text:
OK, znalazłem następujący kod on-line, który wydaje się działać i wyświetla wszystkie strony przy użyciu szablonu page_library_html.php. Ten kod pokazuje jednak tylko ich tytuł. Czy ktoś może mi pomóc w wyświetleniu treści posta oraz tytułu w . Z góry dziękuję **Aktualny kod** <?php $product_pages_args = array( 'meta_key' => '_wp_page_template', 'meta_value' => 'page_library_html.php' ); $product_pages = get_pages( $product_pages_args ); ?> <?php foreach ( $product_pages as $product_page ) { echo '

 ID) '">'. $product_page->post_title . '

'; } ?>


title: jak skonfigurować dostęp użytkownika do biblioteki multimediów?

text: Myślę, że to może być prosta odpowiedź, ale tak naprawdę nie mogę znaleźć. oprócz administratora użytkownicy nie mogą zobaczyć „biblioteki multimediów”. Czy mimo to należy skonfigurować wyświetlanie (wyświetlanie na desce rozdzielczej) biblioteki multimediów dla użytkowników niebędących administratorami? Może potrzebuję dać dostęp według typu użytkownika lub czegoś innego. potem widzą, co przesłali. function my_files_only( $wp_query ) { if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/upload.php' ) !== false ) { //if ( !current_user_can( 'level_5' ) ) { global $bieżący_użytkownik; $wp_query->set( 'autor', $bieżący_użytkownik->id ); //} } } add_filter('parse_query', 'my_files_only' );


title: Prawidłowy sposób wykonywania zapytań do bazy danych, których nie można buforować

text: Rozważmy funkcję kodu getNow() { global $wpdb; $now = $wpdb->get_var("WYBIERZ TERAZ ()"); $wpdb->flush(); zwróć teraz $; } Używam powyższej metody, aby uniknąć buforowania efektu metody `get_var`, **kiedy uruchamiam funkcję, zawsze otrzymuję ten sam wynik, np.** echo getNow(); sen(10); echo pobierzTeraz(); // Taki sam wynik jak powyżej Pytania: 1. Czy istnieje lepszy sposób na napisanie powyższej funkcji, aby uniknąć efektu buforowania? 2. Dlaczego `$wpdb` buforuje TYLKO ostatni wynik, ale nie wszystkie zapytania powodują to samo żądanie? Brzmi to trochę przesadnie w przypadku ostatniego zapytania, prawda?


title: Nieprawidłowe dane po zmodyfikowaniu posta za pomocą linku zwrotnego z wp_die

text: Mam hook: function myHook( $post_ID, $post ) { $data = get_post_meta($post_ID, 'data', true); if ($dane) { _log('dane:' .$dane); /* tutaj kilka sprawdzeń i walidacji */ if (!valid) wp_die('Błąd', 'Błąd', array( 'response' => 500, 'back_link' => true)); } else wp_die('Błąd', 'Błąd', array( 'response' => 500, 'back_link' => true)); } add_action( 'zapisz_post', 'mójHook', 0, 2 ); Problem polega na tym, że gdy dane są nieprawidłowe, a użytkownik używa back_link do poprawienia danych i próbuje ponownie opublikować post, jego zmiany nie są stosowane. Do analizy brane są stare dane. Jak mogę to naprawić? Z góry dziękuję


title: Czy mogę wywołać Options Framework w footer.php?

text: Zintegrowałem opcje Framework z moim motywem. Czy mogę wywołać `of_get_option(...)` w footer.php?


title: Prześlij obraz z interfejsu i zmień rozmiar

text: Pracuję nad dodaniem możliwości dodania custom_post_type z frontendu. Mogę połączyć z nimi obrazy, ale najwyraźniej ich rozmiar nie jest zmieniany. I naprawdę potrzebuję specjalnych rozmiarów, które zdefiniowałem w moim functions.php. Oto co robię: if(!empty($_FILES['IMAGE'])){ include_once ABSPATH . 'wp-admin/zawiera/media.php'; include_once ABSPATH . 'wp-admin/zawiera/plik.php'; include_once ABSPATH . 'wp-admin/zawiera/image.php'; $plik = $_FILES['OBRAZ']; $upload = wp_handle_upload($plik, array('test_form' => false)); if(!isset($upload['error']) && isset($upload['file'])){ $title = $file['name']; $filetype = wp_check_filetype( basename($upload['file'], null)); $ext = strrchr($tytuł,'.'); $title =($ext !== false) ? substr($tytuł, 0, -strlen($dod)) : $tytuł; //$url_img = wp_get_attachment_url($attach_key); $attach_key = '_thumbnail_id'; $attach_id = wp_insert_attachment($attachment,$upload['file']); $existing_download = (int) get_post_meta($new_eta_ID, $attach_key, true); if(is_numeric($istniejące_pobranie)){ wp_delete_attachment($istniejące_pobranie); } update_post_meta($new_eta_ID, $attach_key, $attach_id,true); } } Czyli przesyła wybrane pliki, ale nie zmienia rozmiaru. Jak mogę to zrobić ? Dziękuję !


title: Przesyłanie wielu plików na frontend

text: Mam nadzieję, że to pytanie zostanie rozważone w temacie, ponieważ zarówno tag „wtyczki”, jak i meta-post na blogu „można zadać pytanie o to, jak użyć konkretnej wtyczki tutaj” wydaje się to dyskwalifikować, ale tak czy inaczej. (Jeśli jest to nie na temat, bardzo doceniłbym wskazówkę, gdzie mogę zadać moje pytania, a nie tylko głosować za usunięciem :) ) =========== ============================= Niedawno dostałem stronę WP na kolanach, ponieważ najwięcej wiedziałem o "komputerach" ;) Strona działa dobrze, ale jedną rzeczą, którą chcielibyśmy dodać do strony, jest możliwość wgrywania przez użytkowników zdjęć, które następnie mogą być dodawane do galerii przez moderatorów/administratorów. Znalazłem wtyczkę do tego https://wordpress.org/plugins/frontend-uploader/ Ale problem polega na tym, że mogę przesłać tylko jedno zdjęcie na raz. To, czego naprawdę chcielibyśmy, to przedstawić stronę, na której można przesłać wiele plików naraz lub jeszcze lepiej, po prostu przeciągnij i upuść pliki. Wygląda na to, że nie ma wtyczki do tego przypadku, a całe moje googlowanie doprowadziło mnie tylko do stron takich jak http://kvcodes.com/2013/12/create-front-end-multiple-file-upload-wordpress/ , które opisz, jak możesz samodzielnie zbudować tę funkcjonalność. Mam więc dwa pytania 1. Czy naprawdę nie ma do tego wtyczki? Moim zdaniem jest to bardzo częsty przypadek użycia i nie rozumiem, dlaczego nie powinno być do niego wtyczki. 2. Jeśli muszę to zbudować sam, to jak mam to zrobić? Znam się na programowaniu i terminalu, ale nie znam się na wordpressie (jeszcze :)). Np. jeśli spojrzysz na "samouczek" w powyższym linku, jest tam trochę html i trochę php, ale gdzie mam to umieścić w mojej instalacji wp? Czy mam utworzyć wtyczkę z plikami php, a następnie opublikować stronę zawierającą html za pomocą backendu administratora? lub...? Większość znalezionych przeze mnie przykładów tworzenia własnych rzeczy dla wordpress daje trochę html i trochę kodu php-przykładowego, ale nigdzie nie wyjaśniają, gdzie to umieścić. Prawdopodobnie mógłbym się tego dowiedzieć metodą prób i błędów, ale miałem nadzieję, że przyspieszę to trochę, pytając :) (Miałem więcej linków dowodzących, że faktycznie wykonałem googlowanie, zanim zapytałem tutaj, ale moja liczba powtórzeń była zbyt niska na cokolwiek więcej niż dwa linki...)


title: Paginacja i powiązane posty

text: Czy możliwe jest użycie paginacji z następującym powiązanym kodem postów, który jest osadzony w single.php mojego motywu. <?php // do wykorzystania w pętli, wypisz 5 tytułów postów powiązanych z pierwszym tagiem w bieżącym poście $tags = wp_get_post_tags($post->ID); if ($tags) { $first_tag = $tags[0]->term_id; $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $args = array( 'tag__in' => array($first_tag), 'post__not_in' => array($post->ID), 'posts_per_page'=> 5, 'caller_get_posts'=> 1, 'paged'=> $ stronicowana ); } $the_query = nowe WP_Query( $args ); if( $the_query->have_posts() ); while ($the_query->have_posts()) : $the_query->the_post(); ?> <?php get_template_part( 'zawartość' ); ?> <?php koniec; ?>


title: Zastąp get_the_category() permalinkiem Hikari

text: Chcę edytować mój kupiony motyw. Używam wtyczki Hikari permalink, aby ustawić kategorię, którą chcę mieć jako domyślną (zamiast najniższego numeru ID). Teraz mój motyw używa po prostu `get_the_category()` i `get_the_category_list()` do wyświetlania kategorii (lub listy kategorii). Chcę, aby oba te pokazywały tylko jedną kategorię, którą wybrałem za pośrednictwem linku Hikari. Ta strona pokazuje, jak wyodrębnić kategorię i ją wydrukować. To wszystko dobrze i dobrze, ale musiałbym przebrnąć przez cały motyw z mnóstwem edycji. Jak mógłbym przejść do edycji tych funkcji za pomocą kodu z powyższej strony? Zakładam, że jeśli edytuję podstawowe pliki, zostaną one nadpisane (nawet nie zawracałem sobie głowy szukaniem). Czy istnieje sposób na obejście tych funkcji, który będzie odporny na przyszłość - może hak lub coś takiego? EDYTUJ... Próbowałem tego, ale pojawia się błąd. Jakieś pomysły....? ` function get_hikari_main_category() { // wyodrębnij kategorię z wtyczki hikari permalink $category_id = get_post_meta(get_the_ID(), '_category_permalink', true); if ( $category_id ) { return get_term($category_id, 'category'); } // brak zdefiniowanej kategorii głównej, pobierz domyślną $terms = wp_get_object_terms(get_the_ID(), 'category'); if ( $terms ) { return $terms[0]; } } add_filter('get_category', 'get_hikari_main_category'); `


title: add_image_size nie generuje obrazów o poprawnych wymiarach

text: Próbuję swoich sił z metodą WP `add_image_size` i jest to wpis w `function.php` mojego motywu if ( function_exists( 'add_theme_support' ) ) { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size(100, 65); // domyślne wymiary miniatury posta } if ( function_exists( 'add_image_size' ) ) { add_image_size( 'home_page_featured', 200, 225, true); } Próbowałem z obydwoma parametrami współczynnika upraw, ale wydaje się, że nic nie działa dla mnie. Przesyłam `Dimensions 628x355` i chcę, aby oprócz całego rozmiaru obrazu OOB, `home_page_featured` został utworzony z wymiarami 200x225, ale WP generuje go jako `200x113` próbowałem z wtyczką `Regenerate Thumbnails`, ale wygląda na to, że tak nie jest pracuje, nie jestem pewien, gdzie robię źle.


title: Jak indywidualnie ustawić WP_DEBUG na podkatalogu multisite?

text: Zgodnie z tym pytaniem, możliwe jest włączenie/wyłączenie `WP_DEBUG` dla określonych witryn w multisite. Czy można to zrobić za pomocą **podkatalogu multisite**?


title: Automatycznie ustaw pierwszy obraz jako polecany

text: Mam ponad 400 postów z obrazami w środku, mam nowy szablon, który wymaga wyróżnienia obrazu dla każdego posta, czego mój ostatni szablon nie wymagał... Zastanawiam się, czy jest skrypt, który mógłbym dodać do moich funkcji. php, aby móc pobrać pierwszy obraz w każdym poście i ustawić go jako polecany... Do tej pory znalazłem to, ale nie działa... function auto_set_featured() { global $post; $has_thumb = has_post_thumbnail($post->ID); if (!$has_thumb) { $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" ); if ($attached_image) { foreach ($attached_image as $attachment_id => $attachment) { set_post_thumbnail($post->ID, $attachment_id); } } } } add_action('the_post', 'auto_set_featured'); add_action('save_post', 'auto_set_featured'); add_action('draft_to_publish', 'auto_set_featured'); add_action('new_to_publish', 'auto_set_featured'); add_action('pending_to_publish', 'auto_set_featured'); add_action('future_to_publish', 'auto_set_featured'); Ten skrypt będzie działał dla nowych postów, ale potrzebuję go, aby wpłynąć na wszystkie moje starsze posty, jakieś sugestie?


title: Ignoruj adresy URL obrazów w wyszukiwaniu wp_query

text: Przeprowadzam wyszukiwanie słów kluczowych za pomocą wp_query w następujący sposób: $wp_query = new WP_Query('s=' .$_GET['s']); Zwraca post, który zawiera `$_GET['s']` w jednym ze swoich adresów URL obrazu i nie chcę, aby tak się stało. Chcę wykluczyć z wyszukiwania dowolny adres URL załącznika. Czy jest to możliwe przy użyciu argumentów wp_query? Może sposób na wyszukanie tylko tytułu/treści posta?


title: Pola niestandardowe nie wyświetlają się na stronie z wieloma pętlami

text:
Mam wiele pętli na mojej stronie głównej. Próbuję wyświetlić pola niestandardowe w każdej pętli. Ale niektóre z nich się nie pokazują. Jakiś pomysł, dlaczego? Oto kod: //sprawdź polecane wydarzenia tutaj $featured = new WP_Query (array( 'category_name' => 'Polecane wydarzenia', 'posts_per_page' => 2) ); if ($featured -> have_posts()) { while ($featured-> have_posts()) : $featured -> the_post(); ?>
 <?php the_title(); ?>

 <?php echo get_post_meta($post->ID, 'Data', prawda); ?>

 <?php echo get_post_meta($post->ID, 'Czas rozpoczęcia', prawda); ?> <?php if ( get_post_meta($post->ID, 'Czas zakończenia', true) != "") { ; ?>  -  <?php echo get_post_meta($post->ID, 'Czas zakończenia', prawda); }?>
  <?php if ( get_post_meta($post->ID, 'Sponsor', true) != "") { ; ?>
 <?php echo get_post_meta($post->ID, 'Sponsor', prawda); ?>
 <?php }; ?> <?php if ( get_post_meta($post->ID, 'Koszt', prawda) != "") { ; ?>
 <?php echo 'Koszt:'. get_post_meta($post->ID, 'Koszt', prawda); ?>
 <?php }; if ( get_post_meta($post->ID, 'Lokalizacja', true) != "") { ; ?>
 <?php echo 'Lokalizacja: '. get_post_meta($post->ID, 'Lokalizacja', prawda); ?>
 <?php }; globalne $więcej; $więcej = 0; the_content('Czytaj więcej proszę'); if ( get_post_meta($post->ID, 'link', true) != "") { ; ?>
 <a href=" <?php echo get_post_meta($post->ID, 'link', true); ?> " > Kliknij tutaj, aby uzyskać więcej informacji
 <?php } koniec; } wp_reset_query(); ?>

 <?php $ann_query = nowe WP_Query (array( 'category_name' => 'ogłoszenie', 'orderby'=> 'zmodyfikowane', 'posts_per_page' => 5) ); if ($ann_query -> have_posts()) { while ($ann_query-> have_posts()) : $ann_query -> the_post(); if( $post->ID == $do_not_duplicate ) kontynuuj; //To jest magiczna linia // echo 'Następuje niepilne ogłoszenie'; ?>
 <?php the_title(); ?>
 <?php //Kod musi być wstawiony przed wywołaniem the_content, ale PO the_post() global $more; $więcej = 0; ?>
 <?php echo get_post_meta($post->ID, 'Data', prawda); ?>

 <?php echo get_post_meta($post->ID, 'Czas rozpoczęcia', prawda); ?> <?php if ( get_post_meta($post->ID, 'Czas zakończenia', true) != "") { ; ?>  -  <?php echo get_post_meta($post->ID, 'Czas zakończenia', prawda); }?>
 <?php if ( get_post_meta($post->ID, 'Lokalizacja', true) != "") { ; ?>
 <?php echo 'Lokalizacja: '. get_post_meta($post->ID, 'Lokalizacja', prawda); ?>
 <?php }; the_content('Czytaj więcej proszę'); if ( get_post_meta($post->ID, 'link', true) != "") { ; ?>
 <a href=" <?php echo get_post_meta($post->ID, 'link', true); ?> " > Kliknij tutaj, aby uzyskać więcej informacji
 <?php } koniec; } wp_reset_query(); ?>


title: wyświetlanie linków w przypadku użycia terminu

text:
Chcę wyświetlić listę terminów do nawigacji i używam:
 <?php $terma = term_exists('group_a_teams', 'group' ); if ($terma !== 0 && $terma !== null) { ?>
 <a href="<?php echo get_term_link( 'group_a_teams', 'group' ); ?>">Grupa A Zespoły
 <?php } ?> <?php $termb = term_exists('group_b_teams', 'group' ); if ($termb !== 0 && $termb !== null) { ?>
 <a href="<?php echo get_term_link( 'group_b_teams', 'group' ); ?>">Zespoły grupy B
 <?php } ?>
  Działa dobrze, dopóki nie dodam klauzuli if, więc jeśli nie zostanie zastosowana żadna taksonomia, nie spowoduje to błędu. Problem polega na tym, że terminy rzeczywiście istnieją, ale niekoniecznie są stosowane. Jakiej funkcji powinienem wtedy używać?


title: Obraz jako link za pomocą wp_nav_menu()

text: Czy podczas tworzenia niestandardowego menu nawigacyjnego w TwentyTen (WP3.01) można utworzyć link do strony w tej samej witrynie za pomocą wp_nav_menu() ? Czy jest tak, że wp_nav_menu() zwraca lub zwraca tylko tekst i nie można go zmusić do zwrócenia lub echa obrazu? Jeśli tak jest, czy istnieje obejście?


title: Powiel funkcję niestandardowego nagłówka na ekranie edycji postu

text:
W wordpress 3.0 masz możliwość tworzenia niestandardowego obrazu nagłówka za pomocą bardzo zgrabnego wbudowanego narzędzia do przycinania. Dowiedziałem się, że kod używany do tego znajduje się w wp-admin/custom-header.php. To, co chcę zrobić, to włączenie tej samej funkcji do własnego niestandardowego typu postu, aby móc tworzyć wiele obrazów nagłówka i obracać je, jednocześnie dodając dodatkowe pola do każdego postu. Czy ktoś wie, jak to zrobić? Oto kod z pliku custom-header.php. <?php /** * Niestandardowy skrypt obrazu nagłówka. * * @package WordPress * @subpackage Administracja */ /** * Niestandardowa klasa obrazu nagłówka. * * @since 2.1.0 * @package WordPress * @subpackage Administracja */ class Custom_Image_Header { /** * Callback dla nagłówka administracyjnego. * * @var callback * @since 2.1.0 * @access private */ var $admin_header_callback; /** * Wywołanie zwrotne dla div nagłówka. * * @var callback * @od 3.0.0 * @access private */ var $admin_image_div_callback; /** * Przechowuje domyślne nagłówki. * * @var array * @od 3.0.0 * @access private */ var $default_headers = array(); /** * Przechowuje hak menu strony. * * @var string * @since 3.0.0 * @access private */ var $page = ''; /** * Konstruktor PHP4 — Zarejestruj wywołanie zwrotne nagłówka administracyjnego. * * @od wersji 2.1.0 * Wywołanie zwrotne @param $admin_header_callback * Wywołanie zwrotne @param $admin_image_div_callback Opcjonalne wywołanie zwrotne niestandardowego obrazu div. * @return Custom_Image_Header */ function Custom_Image_Header($admin_header_callback, $admin_image_div_callback = '') {$this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; } /** * Skonfiguruj hooki dla strony administracyjnej Custom Header. * * @od 2.1.0 */ function init() { if ( ! current_user_can('edit_theme_options') ) return; $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array(&$this, 'admin_page')); add_action("admin_print_scripts-$page", array(&$this, 'js_includes')); add_action("admin_print_styles-$page", array(&$this, 'css_includes')); add_action("admin_head-$page", array(&$this, 'pomoc') ); add_action("admin_head-$page", array(&$this, 'take_action'), 50); add_action("admin_head-$page", array(&$this, 'js'), 50); add_action("admin_head-$page", $this->admin_header_callback, 51); }/** * Dodaje pomoc kontekstową. * * @since 3.0.0 */ function help() { add_contextual_help( $this->page, '
' . __( 'Możesz ustawić własny nagłówek obrazu dla swojej witryny. Po prostu prześlij obraz i przytnij go, a nowy nagłówek zostanie natychmiast uruchomiony.' ). '
' . '
' .__( 'Jeśli chcesz odrzucić niestandardowy nagłówek i wrócić do domyślnego zawartego w motywie, kliknij , aby usunąć obraz niestandardowy i przywrócić oryginalny obraz nagłówka.' ). '
' . '
' .__( 'Niektóre motywy są dostarczane z dołączonymi dodatkowymi obrazami nagłówka. Jeśli widzisz wiele wyświetlanych obrazów, wybierz taki, który chcesz i kliknij przycisk Zapisz zmiany.' ). '
' . '
' . __( 'Aby uzyskać więcej informacji:') .'
 ' . '
' . __( 'Dokumentacja dotycząca niestandardowego nagłówka') . '
 ' . '
' .__( 'Fora pomocy' ) . '
' ); } /** * Pobierz bieżący krok. * * @od 2.6.0 * * @return int Bieżący krok */ function step() { if ( ! isset( $_GET['krok'] ) ) return 1; $krok = (int) $_GET['krok']; if ( $krok < 1 || 3 < $krok ) $krok = 1; zwróć $krok; } /** * Ustaw kolejkę dla plików JavaScript. * * @od wersji 2.1.0 */ function js_includes() { $krok = $ten->krok(); if ( ( 1 == $krok || 3 == $krok ) && $this->tekst_nagłówka() ) wp_enqueue_script('farbtastic'); elseif (2 == $step) wp_enqueue_script('imgareeselect'); } /** * Ustaw kolejkę dla plików CSS * * @since 2.7 */ function css_includes() { $krok = $ten->krok(); if ( (1 == $krok || 3 == $krok ) && $this->tekst_nagłówka() ) wp_enqueue_style('farbtastic'); elseif (2 == $step) wp_enqueue_style('imgareeselect'); } /** * Sprawdź, czy tekst nagłówka jest dozwolony * * @od 3.0.0 */ function header_text() { if ( define( 'NO_HEADER_TEXT' ) && NO_HEADER_TEXT ) return false; zwróć prawdę; } /** * Wykonanie niestandardowej modyfikacji nagłówka. * * @od 2.6.0 */ function take_action() { if ( ! current_user_can('edit_theme_options') ) return; if (pusty($_POST)) return; $this->zaktualizowane = prawda; if ( isset( $_POST['resetheader'] ) ) { check_admin_referer( 'niestandardowe-opcje-nagłówków', '_wpnonce-niestandardowe-opcje-nagłówków' ); remove_theme_mod( 'header_image' ); zwrócić; } if ( isset( $_POST['resettext'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); remove_theme_mod('header_textcolor'); zwrócić; } if ( isset( $_POST['removeheader'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); set_theme_mod( 'obraz_nagłówka', '' ); zwrócić; } if ( isset( $_POST['text-color'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); $_POST['kolor-tekstu'] = str_replace( '#', '', $_POST['kolor-tekstu'] ); if ( 'blank' == $_POST['text-color'] ) { set_theme_mod( 'header_textcolor', 'pusty' ); } else { $color = preg_replace('/[^0-9a-fA-F]/', '', $_POST['text-color']); if ( strlen($kolor) == 6 || strlen($kolor) == 3 ) set_theme_mod('header_textcolor', $color); } } if ( isset($_POST['default-header'])) ) { check_admin_referer( 'niestandardowe-opcje-nagłówka', '_wpnonce-niestandardowe-opcje-nagłówka' ); $this->process_default_headers(); if ( isset($this->default_headers[$_POST['default-header']]) ) set_theme_mod('header_image', esc_url($this->default_headers[$_POST['default-header']]['url' ])); } } /** * Przetwarzaj domyślne nagłówki * * @od 3.0.0 */ function process_default_headers() { global $_wp_default_headers; if ( !empty($this->headers) ) return; jeśli(!isset($_wp_default_headers)) powrót; $this->default_headers = $_wp_default_headers; foreach ( array_keys($this->default_headers) as $header ) { $this->default_headers[$header]['url'] = sprintf( $this->default_headers[$header]['url'], get_template_directory_uri() , get_stylesheet_directory_uri() ); $this->default_headers[$header]['thumbnail_url'] = sprintf( $this->default_headers[$header]['thumbnail_url'], get_template_directory_uri(), get_stylesheet_directory_uri() ); } } /** * Wyświetl interfejs użytkownika do wybierania jednego z kilku domyślnych nagłówków. * * @od 3.0.0 */ function show_default_header_selector() { echo '
'; foreach ( $this->default_headers as $header_key => $header ) { $header_thumbnail = $header['thumbnail_url']; $nagłówek_url = $nagłówek['url'];$nagłówek_opis = $nagłówek['opis']; echo '
'; echo '<input name="default-header" type="radio" value="' .esc_attr($header_key) .'" ' . zaznaczone($header_url, get_theme_mod( 'header_image' ), false) . ' />'; echo ''; echo '
'; } echo '

'; } /** * Uruchom JavaScript w zależności od kroku. * * @od wersji 2.1.0 */ function js() { $krok = $ten->krok(); if ( ( 1 == $krok || 3 == $krok ) && $ten->tekst_nagłówka() ) $to->js_1(); elseif (2 == $krok) $this->js_2(); } /** * Wyświetl JavaScript na podstawie kroku 1 i 3. * * @od 2.6.0*/ function js_1() { ?>  <?php } /** * Wyświetl JavaScript na podstawie kroku 2. * * @since 2.6.0 */ function js_2() { ?>  <?php } /** * Wyświetl pierwszy krok niestandardowej strony z obrazkiem nagłówka. * * @od wersji 2.1.0 */ function step_1() { $this->process_default_headers(); ?>
 <?php screen_icon(); ?>
<?php _e('Niestandardowy nagłówek'); ?>
 <?php if ( ! empty( $this->updated ) ) { ?>

<?php printf( __( 'Zaktualizowany nagłówek . Odwiedź swoją witrynę, aby zobaczyć, jak wygląda.' ), home_url( '/' ) ); ?>

 <?php } ?>
<?php _e( 'Obraz nagłówka' ) ?>

 <ty zakres="wiersz"><?php _e( 'Podgląd' ); ?>	  <?php if ( $this->admin_imag_div_callback ) { call_user_func ( $this-> admin_image_div_callback ); } else { ?> <div id="headimg" style="max-width:<?php echo HEADER_IMAGE_WIDTH; ?>px;height:<?php echo HEADER_IMAGE_HEIGHT; ?>px;obraz-w tle:url(<?php esc_url ( header_image() ) ?>);"> <?php if ( 'blank' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || '' == get_theme_mod('header_textcolor', HEADER_TEXTCOLOR) || ! $this- >tekst_nagłówka() ) $style = ' style="display:none;"'; else $style = ' style="kolor:#' .get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR) .';"'; ?>
<a id="nazwa"<?php echo $styl; ?> onclick="zwróć fałszywe;" href="<?php bloginfo('url'); ?>"><?php bloginfo( 'nazwa' ); ?>
 <div id="desc"<?php echo $styl; ?>><?php bloginfo( 'opis' ); ?>

 <?php } ?>

 <ty zakrese="row"><?php _e( 'Prześlij obraz' ); ?>
<?php _e( 'Możesz przesłać niestandardowy obraz nagłówka, który będzie wyświetlany na górze Twojej witryny zamiast domyślnego. Na następnym ekranie będziesz mógł przyciąć Obraz.' ); ?>
 <?php printf( __( 'Obrazy dokładnie %1$d × %2$d pikseli będą używane bez zmian.' ), HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT ); ?>
 <form enctype="multipart/form-data" id="upload-form" method="post" action="<?php echo esc_attr( add_query_arg( 'krok', 2 ) ) ?>" >
 <?php _e( 'Wybierz obraz ze swojego komputera:' ); ?>
 <input type="file" id="upload" name="import" /> <input type="hidden" name="action" value="save" /> <? php wp_nonce_field( 'custom-header-upload', '_wpnonce-custom-header-upload' ) ?> <input type="submit" class="button" value="<?php esc_attr_e( 'Upload' ); ?> " />
 </form>

 <metoda formularza="post" action="<?php echo esc_attr( add_query_arg( 'krok', 1 ) ) ?>">

 <?php if ( ! empty( $this->default_headers ) ) : ?>
 <?php _e( 'Domyślne obrazy' ) ; ?>
<?php _e( 'Jeśli nie chcesz przesyłać własnego obrazu, możesz użyć jednego z tych fajnych nagłówków.' ) ?>
 <?php $this->show_default_header_selector(); ?>
 <?php endif; if ( get_header_image() ) : ?>
 <ty zakres="wiersz"><?php _e( 'Usuń obraz' ); ?>
<?php _e( 'Spowoduje to usunięcie obrazu nagłówka. Nie będzie można przywrócić żadnych dostosowań.' ) ?>
 <input type="submit" class="button" name="removeheader" value="<?php esc_attr_e( 'Usuń obraz nagłówka' ); ?>" />
 <?php endif; jeśli ( zdefiniowany('HEADER_IMAGE' ) ): ?>
 <ty zakres="wiersz"><?php _e( 'Resetuj obraz' ); ?>
<?php _e( 'Spowoduje to przywrócenie oryginalnego obrazu nagłówka. Nie będzie można przywrócić żadnych dostosowań.' ) ?>
 <input type="submit " class="przycisk" name="resetheader" value="<?php esc_attr_e( 'Przywróć oryginalny obraz nagłówka' ); ?>" />
 <?php endif; ?>

 <?php if ( $this->header_text() ) : ?>
<?php _e( 'Tekst nagłówka' ) ?>

 <?php _e( 'Wyświetlany tekst' ); ?>
 <?php $hidetext = get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ); ?> <etykieta><input type="radio" value="1" name="ukryj tekst" id="ukryj tekst"<?php sprawdzone( ( 'blank' == $ukryj tekst || pusty( $ukryj tekst ) ) ? true : fałszywy ); ?> /> <?php _e( 'Nie' ); ?> <etykieta><input type="radio" value="0" name="ukryj tekst" id="showtext"<?php sprawdzone( ( 'puste' == $ukryj tekst || pusty( $ukryj tekst ) ) ? false : true ); ?> /> <? php _e( 'Tak' ); ?>

 <ty zakres="wiersz" ><?php _e( 'Kolor tekstu' ); ?>
 <input type="text" name="text-color" id="text-color" value="#< ?php echo esc_attr( get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR) ); ?>" /> <?php _e( 'Jeśli chcesz ukryć tekst nagłówka, dodaj #blank jako kolor tekstu.' );? > <input type="button" class="button hide-if-no-js" value="<?php esc_attr_e( 'Wybierz kolor' ); ?>" id="pickcolor" />

 <?php if ( define('HEADER_TEXTCOLOR') && get_theme_mod('header_textkolor') ) { ?>
 <ty zakres="wiersz"><?php _e('Zresetuj kolor tekstu'); ?>
<?php _e( 'Spowoduje to przywrócenie oryginalnego tekstu nagłówka. Nie będzie można przywrócić żadnych dostosowań.' ) ?>
 <input type="submit " class="przycisk" name="resettext" value="<?php esc_attr_e( 'Przywróć oryginalny tekst nagłówka' ); ?>" />
 <?php } ?>

 <?php endif; wp_nonce_field( 'niestandardowe-opcje-nagłówków', '_wpnonce-niestandardowe-opcje-nagłówków' ); ?>
<input type="prześlij" class="button-primary" name="save-header-options" value="<?php esc_attr_e( 'Zapisz zmiany' ); ?>" />
 </form>
 <?php } /** * Wyświetl drugi krok niestandardowej strony z obrazkiem nagłówka. * * @od 2.1.0 */ function step_2() { check_admin_referer('custom-header-upload', '_wpnonce-custom-header-upload'); $nadpisania = tablica('test_form' => fałsz); $file = wp_handle_upload($_FILES['import'], $overrides); if ( isset($file['error']) ) wp_die( $file['error'], __( 'Błąd przesyłania obrazu' ) ); $url = $plik['url']; $typ = $plik['typ']; $plik = $plik['plik']; $nazwa pliku = nazwa bazowa($plik); // Skonstruuj tablicę obiektów $object = array( 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, 'guid' => $url); // Zapisz dane $id = wp_insert_attachment($object, $file); list($szerokość, $wysokość, $typ, $atr) = getimagesize( $plik ); if ( $width == HEADER_IMAGE_WIDTH && $height == HEADER_IMAGE_HEIGHT ) { // Dodaj metadane wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); ustaw_jee_mod('header_image', esc_url($url)); do_action ('wp_create_file_in_uploads', $plik, $id); // Dla replikacji zwróć $this->finished(); } elseif ( $szerokość > HEADER_IMAGE_WIDTH ) { $oitar = $szerokość / HEADER_IMAGE_WIDTH; $obraz = wp_crop_image($plik, 0, 0, $szerokość, $wysokość, HEADER_IMAGE_WIDTH, $wysokość / $oitar, false, str_replace(basename($plik), 'średni rozmiar-'.basename($plik), $plik) ); if ( is_wp_error( $obraz ) ) wp_die( __( 'Nie można przetworzyć obrazu. Wróć i spróbuj ponownie.' ), __( 'Błąd przetwarzania obrazu' ) ); $obraz = zastosuj_filtry ('wp_create_file_in_uploads', $obraz, $id); // Do replikacji $url = str_replace(basename($url), basename($image), $url); $szerokość = $szerokość / $oitar; $wysokość = $wysokość / $oitar; } else { $oitar = 1; } ?>
 <?php screen_icon(); ?>
<?php _e( 'Przytnij obraz nagłówka' ); ?>
 <form metoda="post" action="<?php echo esc_attr(add_query_arg('krok', 3)); ?>">
 <?php _e('Wybierz część obrazu, której chcesz użyć jako nagłówka.'); ?>

<?php _e( 'Do wybrania części obrazu potrzebny jest Javascript.'); ?>

 <img src="<?php echo esc_url( $url ); ?>" id="prześlij" width= "<?php echo $szerokość; ?>" wysokość="<?php echo $wysokość; ?>" />

 <input type="ukryty" nazwa="x1" id="x1" value="0"/> <input type="hidden" name="y1" id="y1" value="0"/> <input type="hidden" name="szerokość" id= "szerokość" wartość="<?php echo esc_attr( $szerokość ); ?>"/> <input type="ukryty" nazwa="wysokość" id="wysokość" wartość="<?php echo esc_attr( $wysokość) ; ?>"/> <input type="ukryty" name="id_załącznika" id="id_załącznika" wartość="<?php echo esc_attr( $id ); ?>" /> <typ wejścia="ukryty" nazwa="oitar" id="oitar" wartość="<?php echo esc_attr( $oitar ); ?>" /> <?php wp_nonce_field( 'custom-header-crop-image' ) ?> <input type="submit" class="button-primary" value="<?php esc_attr_e( 'Przytnij i opublikuj' ); ?>" />
 </form>
 <?php } /** * Wyświetl trzeci krok niestandardowej strony z obrazem nagłówka. * * @od 2.1.0 */ function step_3() { check_admin_referer('custom-header-crop-image'); if ( $_POST['oitar'] > 1 ) { $_POST['x1'] = $_POST['x1'] * $_POST['oitar']; $_POST['y1'] = $_POST['y1'] * $_POST['oitar']; $_POST['szerokość'] = $_POST['szerokość'] * $_POST['oitar']; $_POST['wysokość'] = $_POST['wysokość'] * $_POST['oitar']; } $original = pobierz_załączony_plik( $_POST['attachment_id'] ); $ przycięte = wp_crop_image($_POST['attachment_id'], $_POST['x1'], $_POST['y1'], $_POST['szerokość'], $_POST['wysokość'], HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT); if ( is_wp_error( $ przycięte ) ) wp_die( __( 'Nie można przetworzyć obrazu. Wróć i spróbuj ponownie.' ), __( 'Błąd przetwarzania obrazu' ) ); $ przycięte = apply_filters ('wp_create_file_in_uploads', $ przycięte, $_POST['attachment_id']); // Do replikacji $parent = get_post($_POST['attachment_id']); $parent_url = $parent->guid; $url = str_replace(basename($parent_url), basename($przycięte), $parent_url); // Skonstruuj tablicę obiektów $object = array( 'ID' => $_POST['attachment_id'], 'post_title' => basename($cropped), 'post_content' => $url, 'post_mime_type' => 'image /jpeg', 'guid' => $url );// Zaktualizuj załącznik wp_insert_attachment($object, $przycięte); wp_update_attachment_metadata( $_POST['attachment_id'], wp_generate_attachment_metadata($_POST['attachment_id'], $przycięte) ); set_theme_mod('header_image', $url); // czyszczenie $medium = str_replace(basename($original), 'midsize-'.basename($original), $original); @unlink( zastosuj_filtry( 'wp_delete_file', $medium ) ); @unlink( zastosuj_filtry( 'wp_delete_file', $original) ); zwróć $to->zakończono(); } /** * Wyświetl ostatni krok niestandardowej strony z obrazem nagłówka. * * @od wersji 2.1.0 */ function finish() { $this->updated = true; $to->krok_1(); } /** * Wyświetl stronę na podstawie bieżącego kroku. * * @od 2.1.0 */ function admin_page() { if ( ! current_user_can('edit_theme_options') ) wp_die(__('Nie masz uprawnień do dostosowywania nagłówków.')); $krok = $ten->krok(); if ( 1 == $krok ) $ten->krok_1(); elseif ( 2 == $krok ) $to->krok_2(); elseif ( 3 == $krok ) $ten->krok_3(); } } ?>


title: Losowy niestandardowy typ postu

text:
Więc mam niestandardowy typ posta i wszystko jest poprawne podczas wyświetlania. Ale chcę, aby niestandardowy typ posta pojawiał się losowo. Próbowałem orderby => 'rand', ale prawdopodobnie nie we właściwym miejscu i prawdopodobnie czegoś brakuje. Zostawię tutaj 3 niezbędne pliki php: **archive-job_listing:** <?php do_action('before_front_page_jobs'); ?>

 <a href="<?php echo add_query_arg( 'post_type', APP_POST_TYPE, get_bloginfo('rss2_url')) ; ?>"><img src="<?php bloginfo('template_url'); ?>/images/feed.png" title="<?php _e('Kanał RSS z najnowszymi ofertami pracy',APP_TD); ?>" alt="<?php _e('Najnowsze oferty pracy RSS',APP_TD); ?>" /> <?php _e('Najnowsze oferty pracy',APP_TD); ?> <?php if ($paged>1) { ?>(<?php _e('strona', APP_TD ) ?> <?php echo $paged; ?>)<?php } ?> <?php if ( isset($_GET['action']) && $_GET['action'] == 'Filter') { ?>  — <a href="<?php echo jr_get_current_url(); ?>"><? php _e('Usuń filtry',APP_TD); ?> <?php } ?>
 <?php $main_wp_query = $wp_query; $args = jr_filter_form(); zapytanie_posty( $args ); // wywołaj główny plik loop-job.php appthemes_load_template( 'loop-job.php', array( 'main_wp_query' => $main_wp_query ) ); ?> <?php jr_paging(); ?> <?php wp_reset_query(); ?>

 <?php do_action('after_front_page_jobs'); ?>

 **loop-job**
 <?php while (have_posts()) : the_post(); ?> <?php appthemes_before_post( 'lista_prac' ); ?> <?php $post_class = array('praca'); $wygasł = jr_check_expired( $post ); if ( $expired ) { $post_class[] = 'zadanie wygasło'; } $alt=$alt*-1; if ($alt==1) $post_class[] = 'job-alt'; if ( !empty($main_wp_query) && jr_is_listing_featured( $post->ID, $main_wp_query) ) $post_class[] = 'polecane zadanie'; ?> <li class="<?php echo implode(' ', $post_class); ?>">

<?php _e('Firma',APP_TD); ?>

<?php echo get_avatar(get_the_author_meta( 'ID', $post->post_author ), 60); ?>

<?php _e('Zadanie', APP_TD); ?>
 <?php appthemes_before_post_title( 'lista_prac' ); ?>
 <a href="<?php the_permalink(); ?>"><?php the_title(); ?> <?php jr_job_author(); ?>
 <?php appthemes_after_post_title( 'job_listing' ); ?>
<?php _e('Lokalizacja', APP_TD); ?>

<?php jr_location(); ?>
 <?php echo date_i18n(__('j M',APP_TD), strtotime($post->post_date)); ?> <?php echo date_i18n(__('Y',APP_TD), strtotime($post->post_date)); ?>

<?php _e('Typ',APP_TD); ?>

<?php jr_get_custom_taxonomy($post->ID, 'job_type', 'jtype'); ?>

 <?php appthemes_after_post( 'lista_prac' ); ?> <?php koniec; ?> <?php appthemes_after_endwhile( 'lista_zadań' ); ?>
 <?php appthemes_loop_else( 'lista_zadań' ); ?> **tpl-jobs-by-date**
 <?php $dataargs = array(); $tytuł = ''; $dzisiaj = getdate(); switch ($show) : case "tydzień" : $title = __('Praca w tym tygodniu',APP_TD); $dateargs = array( 'rok' => $dzisiaj["rok"], 'w' => date('W') ); przerwanie; wielkość liter "ostatni tydzień" : $title = __('Praca z ostatniego tygodnia',APP_TD); $tydzień = data('W'); $rok = $dzisiaj["rok"]; if ($tydzień==0) : $tydzień = 53; $rok = $rok-1; inaczej : $tydzień = $tydzień-1; endif; $dateargs = array( 'rok' => $rok, 'w' => $tydzień ); przerwanie; wielkość liter "dzisiaj" : $title = __('Dzisiejsze prace',APP_TD); $dateargs = array( 'rok' => $dziś["rok"], 'numer miesiąca' => $dziś["pon"], 'dzień' => $dziś["dzień"] ); przerwanie; case "miesiąc" : $title = __('Praca w tym miesiącu',APP_TD); $dateargs = array( 'rok' => $dziś["rok"], 'numer miesiąca' => $dziś["pon"] ); przerwanie; wyłącznik końcowy; $stronicowany = (get_query_var('stronicowany')) ? get_query_var('stronicowane') : 1; $ main_wp_query = $ wp_query; $args = array( 'post_type' => APP_POST_TYPE, 'orderby' => 'rand', 'post_status' => 'publish', 'ignore_sticky_posts' => 1, 'paged'=>$paged ); $args = array_merge($argsdaty, $args); zapytanie_posty($args); ?>
<?php echo $tytuł; ?>
 <?php appthemes_load_template( 'loop-job.php', array( 'main_wp_query' => $main_wp_query ) ); ?> <?php jr_paging(); ?>

 <?php do_action( 'after_jobs_by_date', 'date', $show ); ?>

 **filter-form** function jr_filter_form() { if (get_option('jr_show_filterbar')!=='no') : ?> <form class="filter "metoda="pobierz" akcja="<?php echo jr_get_current_url(); ?>"> <?php $typy_prac = get_terms( 'typ_pracy', array( 'ukryj_puste' => '0') ); if ($job_types && sizeof($job_types) > 0) { foreach ($job_types as $type) { ?>
<input type="checkbox" name="<?php echo $type->slug; ?> " id="<?php echo $typ->slug; ?>" <?php if (isset($_GET[$typ->slug]) || !isset($_GET['akcja'])) echo ' check="sprawdzony"'; ?> value="show" /> <etykieta for="<?php echo $typ->slug; ?>"><?php echo $typ->nazwa; ?>
 <?php } } ?>
 <input type="prześlij" value="<?php _e('Filtr', APP_TD); ?>" class="prześlij" /> <input type="ukryte" name="action" value="Filter" /> <?php // ukryte pola wyszukiwania if (isset($_GET['s'])) { echo '<input type= "ukryta" nazwa="s" wartość="'.esc_attr($_GET['s']).'" />'; } if (isset($_GET['lokalizacja'])) { echo '<input type="ukryty" name="lokalizacja" value="'.esc_attr($_GET['location']).'" />' ; } if (isset($_GET['radius'])) { echo '<input type="ukryty" name="radius" value="'.esc_attr($_GET['radius']).'" />' ; } ?>

 </form> <?php endif; zwróć jr_process_filter_form(); } Mam nadzieję, że ktoś może mi pomóc i wyróżnić mnie. Prawdopodobnie noobie pytanie, ale czytam i próbuję i nie mogę znaleźć rozwiązania.


title: Jak wyświetlić informacje o kategorii z niestandardowego postu

text: Stworzyłem stronę, która używa niestandardowych postów: http://www.africanhealthleadership.org/resources/toolkit/ Każde narzędzie (Przygotowanie, Ocena itp.) jest niestandardowym postem. W WP Admin każde narzędzie jest kategorią; każda kategoria ma pole „opis”. Chciałbym wyświetlić te opisy na stronie zestawu narzędzi. Próbowałem użyć tego i nic się nie wyświetlało: `<?php echo category_description( $category ); ?>` W tej chwili opisy są na stałe zakodowane na stronie. Ten do przygotowania zaczyna się "Narzędzia przygotowawcze ustanawiają..." Dziękuję za wszelkie pomysły! Jeff * * * Oto pętla, która wypluwa niestandardowy typ posta: <?php query_posts( array( 'post_type' => 'portfolio', 'toolkit' => 'preparation') ); //pętla zaczyna się tutaj if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php the_content(); ?> <?php koniec; endif; wp_reset_query(); ?> A oto kod z functions.php add_action('init', 'portfolio_register'); function portfolio_register() { $labels = array( 'name' => _x('Toolkit', 'Ogólna nazwa typu posta'), 'singular_name' => _x('Narzędzie', 'Pojedyncza nazwa typu posta'), 'add_new ' => _x('Dodaj nowe narzędzie', 'narzędzie'), 'add_new_item' => __('Dodaj nowe narzędzie'), 'edit_item' => __('Narzędzie edycji'), 'new_item' => __( 'Nowe narzędzie'), 'view_item' => __('Wyświetl narzędzie'), 'search_items' => __('Zestaw narzędzi wyszukiwania'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'menu_icon' => get_stylesheet_directory_uri() . '/article16.png', 'rewrite' => true, 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor ','Miniaturka')       ); register_post_type( 'portfolio' , $args ); } register_taxonomy("toolkit", array("portfolio"), array("hierarchical" => true, "label" => "Kategorie narzędzi", "singular_label" => "Narzędzie", "przepisz" => true)) ;


title: Czy mogę dodać niestandardową meta dla każdego obrazu przesłanego przez media-upload.php?

text: Wywołuję media-upload.php za pomocą niestandardowej ikony, kliknij w edytorze treści i chciałbym dodać niestandardową wartość meta dla wszystkich obrazów, które są przesyłane, gdy media-upload.php jest wywoływany z mojej niestandardowej funkcji. Na przykład dla każdego z przesłanych obrazów chcę wstawić wartość do wp_postmeta _customAttachment = 1, tak jak: update_post_meta($post['ID'], '_customAttachment', true); Wiem, jak mogę przekazać bieżący identyfikator post-id do media-upload.php (poprzez parametry ciągu zapytania), ale nie mam pojęcia, jak dołączyć mój filtr update_post_meta do wyzwalacza zapisywania/przesyłania w media-upload.php Czy istnieje filtr do tego?


title: Dołącz pliki metabox

text: Czy ktoś wie, jak stworzyć prosty przycisk „załącz/przeglądaj”, który można umieścić w metaboksie, który po kliknięciu otworzy lightbox, w którym użytkownik będzie mógł wyświetlić wszystkie pliki multimedialne, zaznaczyć te, które chce dołącz i kliknij przycisk „załącz” na dole. Po kliknięciu „załącz” metabox posta zaktualizuje się wszystkimi wybranymi przez niego plikami...


title: Wysyłanie zapytań do pól niestandardowych za pomocą motywu mobilnego Carrington

text:
Czy ktoś wie, dlaczego zapytania dotyczące pól niestandardowych nie działają w motywie mobilnym Carrington? Używam tego: get_post_meta($post, 'key', true) Ale zapytanie niczego nie zwraca. Ktoś wie dlaczego? Dodany kod: while (have_posts()) : the_post(); $kategoria = get_the_category($post); $title = get_the_title($post->ID); $link = get_permalink($post->ID); $store = $category[0]->cat_name; $volum = get_post_meta($post->ID, '2Volum', prawda); $produsent = get_post_meta($post->ID, '1Produsent', prawda); $pris = get_post_meta($post->ID, '3Pris', prawda); echo ''; echo '
'; echo '
' . $tytuł . '
'; echo '
' . $cena . '
'; echo '
' .$produsent . '
'; echo '
' . $objętość . '
'; echo '
'; echo ''; koniec; // Zakończ pętlę. Uff.


title: Pobieranie całej witryny lokalnie za pomocą httrack

text: Wczoraj w nocy przestraszyłem się źle sformatowaną bazą danych, co skłoniło mnie do upewnienia się, że mam tak wiele zbędnych kopii zapasowych mojej witryny, że jestem objęty ochroną w przypadku śmierci serwera, śmierci mojego domowego serwera kopii zapasowych itp. :) To powiedziawszy, próbuję użyć `httrack` do pobrania całej witryny, ale napotykam przypadek, w którym pobiera TYLKO stronę główną (na przykład): `test.mylovelysite.com` Ale potrzebuję go do indeksowania : `test.mylovelysite.com/page/2/` etc., etc., etc. Mogę iść i kazać mu pobrać każdą stronę ręcznie, ale to, co próbuję zrobić, to: * Przechwycić całą zawartość witryny lokalnie : * Zdjęcia * Komentarze * Filmy Mogę otwierać pobrane pliki w Chrome, a jedyną lokalną stroną jest teraz strona główna. Każdy link po prostu kieruje mnie z powrotem do rzeczywistej witryny, którą próbuję wykonać kopię zapasową. Próbowałem funkcji eksportu w Wordpress, ale nie szukam pliku XML, szukam całej lokalnej kopii zapasowej witryny. mam konto SFTP


title: Sprawdź, czy wybrano opcję „Podziel komentarze na strony”

text: Pracuję z funkcją `paginate_comments_links()` i chodzi o to, że trochę ją dostosowałem (opakowany z div), muszę zaznaczyć, czy pole wyboru "Break komentarze do stron..." w WP admin -> Ustawienia -> Ustawienia dyskusji -> Inne ustawienia komentarzy zostały sprawdzone. Więc pytanie brzmi, jak mam zebrać wyniki? Problem polega na tym, że jeśli nie jest zaznaczone, `paginate_comments_links()` nic nie zrobi, ale pojawi się mój div.


title: Dwadzieścia czternaście suwaków nie działa

text:
Chcę dodać nawigację do domyślnego slider.js dwadzieścia czternaście. Próbowałem na wiele sposobów, ale nie rozumiem, jak mam to zrobić. Jakieś sugestie, aby to zadziałało? index.php
 <?php query_posts('post_type=slider'); if (have_posts()) { $slider_index=1; while(have_posts()): the_post(); $image=wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'home_slider');?> <div rel="<?php echo $slider_index;?>" class="slide_element"> <img src="<?php echo $image[0];?>" title="<?php the_title();?>" />

<?php echo get_the_excerpt();?>
 <?php } ?>

 <?php $slider_index++; endwhile;?> slider.js // Ustawienia domyślne. $.featuredslider.defaults = { namespace: 'slider-', // String: ciąg prefiksu dołączony do klasy każdego elementu generowanego przez wtyczkę. selektor: '.slides > li', // Ciąg: selektor, musi pasować do prostego wzorca. AnimationSpeed: 600, // Integer: Ustawia szybkość animacji w milisekundach. controlsContainer: '', // jQuery Object/Selector: nawigacja po kontenerze w celu dołączenia elementów. // Etykiety tekstowe. directionNav: true, //Boolean: Utworzyć nawigację dla poprzedniej/następnej nawigacji? (prawda/fałsz) prevText: featureSliderDefaults.prevText, // String: Ustaw tekst dla „poprzedniego” elementu directionNav. nextText: featureSliderDefaults.nextText // String: Ustaw tekst dla „następnego” elementu directionNav. };


title: Jak przejąć na własność motyw

text: Zainstalowałem WordPress na mojej stronie wraz z motywem zbliżonym do tego, czego chciałem. Następnie zmieniłem praktycznie całe formatowanie, aby było zgodne z moją witryną. Nie planuję publikować swojej wersji, ale chciałbym zrobić ją własną, aby nie pomylić jej z oryginałem. Otrzymuję powiadomienia o aktualizacjach oryginału i nie chcę go przypadkowo aktualizować. Widzę, że folder pod motywami ma nazwę motywu, ale wyobrażam sobie, że jest w tym coś więcej. W razie potrzeby mogę dokonać zmian w bazie danych. Czy prościej byłoby po prostu stworzyć nowy motyw i skopiować do niego wszystkie pliki?


title: Dodanie dodatkowego menu w Wordpress

text: Używam wp_nav_menu() i chcę dodać pole wyszukiwania jako część menu. Mam problem z rozszyfrowaniem tego i liczyłem na pomoc: Mój kod: <?php $args = array('theme_location' => 'primary', 'container' => false); wp_nav_menu ($args ); ?> Teraz chcę dodać dodatkowy element <li> na końcu lub menu <ul> i wszystko, czego chcę w <li>, to wynik: <?php get_search_form();?> Czy można to zrobić?


title: Pobieranie ścieżki miniatury zamiast tagu obrazu

text: Widzę wiele metod wyświetlania miniatur w WordPressie, ale nie jestem od razu pewien, w jaki sposób mogłem uzyskać tylko ścieżkę do miniatury posta, a nie gotowy kod html generowany przez funkcje takie jak `the_post_thumbnail()` i `get_the_post_thumbnail()` . Jakie metody są dla mnie dostępne, aby uzyskać _tylko_ ścieżkę miniatury (aby ustawić ją jako bgimage) zamiast znacznika `<img />`? Czy mam tylko opcję parsowania wyników metody `get_`, czy istnieje prostszy sposób?


title: Usunąć podziały wierszy w wp_list_categories()?

text: Próbuję wyświetlić listę kategorii na artykuł. Używam następującego kodu, `<?php wp_list_categories('child_of=270&style=none'); ?>` (ciąg znaków) Styl wyświetlania listy kategorii. Wartość listy wyświetla kategorie jako elementy listy, podczas gdy żadna nie generuje żadnej specjalnej metody wyświetlania (elementy listy są oddzielone znacznikami `<br>`). Jak usunąć głupie `<br />` po każdym wyjściu? Frustrujące jak ten kod `<?php the_category(', '); ?>` Wyświetli linki bez łamania linii... Każda pomoc byłaby bardzo mile widziana.


title: Wyświetl wszystkie niestandardowe typy postów w archives.php

text: Jak mam to zrobić? `archive.php` ma tylko to: wp_get_archives('type=monthly'); A `wp_get_archives()` nie ma parametru do wyświetlania wszystkich typów postów. Myślę też, że `archive-[post_type].php` nie jest tym, którego szukam, ponieważ chcę, aby wszystkie typy postów były wyświetlane na jednej stronie archiwum. Dziękuję! W


title: najlepszy sposób, aby zatrzymać tę zduplikowaną treść wordpress

text: Zauważyłem w google, że faktycznie wyszukiwania na moim blogu są indeksowane na wielu stronach, co powoduje zduplikowanie treści. Sugestie, jak to powstrzymać? przykład / ?s=radiofixes /page/10/?s=radiofixes /page/11/?s=radiofixes /page/2/?s=radiofixes /page/3/?s=radiofixes /page/4/?s= radiofixes /page/5/?s=radiofixes /page/6/?s=radiofixes /page/7/?s=radiofixes /page/8/?s=radiofixes /page/9/?s=radiofixes Myślałem o parametrach w google, ale czy zignorowałbym?


title: niestandardowy adres URL z niestandardowym postem

text: Chcę zmienić swój niestandardowy adres URL posta. Chcę usunąć „ **element**” z adresu URL. Za pomocą poniższego kodu i niestandardowej wtyczki adresu URL typu post http://wordpress.org/plugins/custom-post-type-permalinks/ mój adres URL to: Oryginalny adres URL: **`http://mywebsite/wp/item/america /mayer/`** Chcę zmienić na **`http://mywebsite/wp/america/mayer/`** Bez użycia `htaccess`. **WordPress Code** function aitDirItemPostType() { register_post_type( 'ait-dir-item', array( 'labels' => array( 'name' => 'Items', 'singular_name' => 'Item', 'add_new ' => 'Dodaj nowy', 'add_new_item' => 'Dodaj nowy element', 'edit_item' => 'Edytuj element', 'new_item' => 'Nowy element', 'not_found' => 'Nie znaleziono elementów', 'not_found_in_trash' => 'Nie znaleziono elementów w Koszu', 'menu_name' => 'Elementy', ), 'description' => 'Manipulowanie elementami', 'public' => true, 'show_in_nav_menus' => true, ' obsługuje' => array( 'title', 'thumbnail', 'autor', 'redaktor', 'fragment', 'komentarze', ), 'show_ui' => prawda, 'show_in_menu' => prawda, 'menu_icon' => AIT_FRAMEWORK_URL . '/CustomTypes/dir-item/dir-item.png', 'menu_position' => $GLOBALS['aitThemeCustomTypes']['dir-item'], 'has_archive' => true, 'query_var' => 'dir- item', 'rewrite' => array('slug' => 'item'), 'capability_type' => 'ait-dir-item', 'map_meta_cap' => true ) ); aitDirItemTaksonomie(); flush_rewrite_rules (fałsz); } add_action( 'init', 'aitDirItemPostType');


title: Utwórz pliki motywów dla wtyczki

text: W zasadzie stworzyłem wtyczkę do tworzenia nowego typu posta (event). Teraz chcę utworzyć plik układu `single-event.php`. Nie chcę trzymać go w folderze motywu, chcę go umieścić w folderze wtyczek. Jak sprawić, by wordpress wiedział, że tam jest? Dziękuję


title: Pętla wewnątrz pętli

text:
Pracuję nad projektem, w którym muszę wyświetlić 2 posty z jednej kategorii, a także muszę umieścić kolejną pętlę między tym postem, aby wyświetlić losową listę postów z innej kategorii. Najłatwiej zrobić 3 zapytania, ale kiedy stworzyłem 2 zapytania dla jednej kategorii, ale tutaj pojawił się problem, jedna pętla pęka i wyświetla oba posty, druga działa dobrze. Użyłem parametru offset dla drugiego zapytania, ale to nie działa. <?php $first_query_args = array( 'category_name' => 'pierwsza-kategoria', 'tag' => 'specjalny-tag', 'post_per_page' => 1, ); $first_query = nowe WP_Query( $first_query_args ); if ( $first_query->have_posts() ) : while ( $first_query->have_posts() ) : $first_query->the_post(); // Pierwsze zapytanie trafia tutaj endwhile; endif; wp_reset_query(); // Zapytanie o losowe posty $query_for_random_args = array( 'category_name' => 'cat-for-rand', 'post_per_page' => 3, 'orderby' => 'rand', ); $query_for_random = nowe WP_Query( $query_for_random_args ); if ( $query_for_random->have_posts() ) : ?>
 <?php while ( $query_for_random->have_posts() ) : $query_for_random->the_post(); ?>
 <?php if ( has_post_thumbnail() ) { ?> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail( 'list-image' ); ?> <a href="<?php the_permalink(); ?>" ><?php the_title(); ?>
 <?php } endwhile; ?>
 <?php endif; wp_reset_query(); ?> <?php $second_query_args = array( 'category_name' => 'pierwsza-kategoria', 'tag' => 'specjalny-tag', 'offset' => 1, 'post_per_page' => 1, ); $ second_query = nowe WP_Query ( $ second_query_args ); if ( $second->have_posts() ) : while ( $second_query->have_posts() ) : $second_query->the_post(); // Drugie zapytanie trafia tutaj endwhile; endif; ?> ( Ten kod Czego używam do tych pętli ) Jakieś pomysły, jak mogę rozwiązać ten problem? lub jak mogę użyć 2 zapytań do podobnego zadania? Pozdrawiam George


title: Paginate Lista postów autora na niestandardowej stronie autora (INNA TEORIA)

text:
Ok, więc oto kolejna historia mojej niestandardowej paginacji na niestandardowej stronie autora. Chcę tam wyświetlić awatar autora, opis, stronę internetową i kilka dodatkowych pól, a także oczywiście wymienić jego post i podzielić go na strony .... Oto zrzut ekranu mojej niestandardowej strony autora: http://i56.tinypic .com/2cosldy.png Jak widać, wszystko wydaje się być w porządku. Teraz problemem jest paginacja. Użyłem kodu Kreisi (stronicowanie bez wtyczek). To, co zrobiłem, to utworzenie niestandardowej pętli i wywołanie jej do funkcji Kreisi, oto kod $uid = $curauth->ID; $paged = ( get_query_var( 'stronicowane' ) ) ? get_query_var( 'stronicowane' ) : 1; $authloop = new WP_Query("autor=$uid&paged=$paged"); $ppp = 5; //ustaw moją niestandardową liczbę postów do wyświetlenia $args = array( 'post_per_page' => $ppp, 'author' => $uid, 'paged' => $paged ); $authorposts = get_posts($args); if ( count( $authorposts ) > 0 ) { foreach ( $authorposts as $post ): setup_postdata($post) ?>
 <?php if ( has_post_thumbnail() ) : ?> <img src="<?php echo bloginfo('template_url'); ?>/inc/scripts/timthumb.php?src=<?php echo catch_that_image(); ?>&w=40&h=40&zc=1&q=30" alt="<?php the_title() ?>" class="authorpostimg"/> <?php else : ?> <img src="<?php echo bloginfo('template_url'); ?>/inc/scripts/timthumb.php?src=<?php echo catch_that_image(); ?>&w=40&h=40&zc=1&q=100" alt="<?php the_title(); ?>" class="authorpostimg"/> <?php endif; ?> <a href="<?php the_permalink() ?>" rel="zakładka" title="Stały link do <?php the_title_attribute(); ?>" class="authorpostlink"><?php the_title(); ?> <?php the_fragment(); ?>
 <?php endforeach; wnw_authpagination($authloop->max_num_pages); } else { echo '
Brak artykułów tego użytkownika
'; } Oto scenariusz do dalszego zrozumienia. Przypuśćmy, że blog zawiera łącznie 30 postów, a autor Ven Francis ma 15. Jeśli widzisz na mojej zmiennej, ustawiłem wartość post_per_page na 5. A w funkcji Kreisi ma zakres 2. (proszę odwiedzić link do jego kodu, aby dowiedzieć się więcej) Tak więc musi się zdarzyć, że paginacja powinna pokazywać 5 przycisków strony [c] [2] [3] [>] [>>] gdzie [c] to bieżąca... [3], a [>>] to ostatnia strona (3. strona). Ale to, co się dzieje w mojej sytuacji, jest takie, że po najechaniu na [>>] pokazuje /page/6 i myślę, że pokazuje całkowitą liczbę postów na blogu. A jeśli klikniesz na 3 (3. strona). Nadal będzie pokazywać 4,5 i [>>], a nie powinno. jak poniżej ilustracja [<<] [<] [1] [2] [c] [4] [5] [>] [>>] Mam nadzieję, że rozumiesz scenariusz i problem. Jeszcze raz dziękuję i niech Bóg błogosławi! PS: Kreisi już nie wspiera swojego genialnego kodu, więc muszę to zrobić sam. i potrzebuję małej pomocy od was. Dziękuję Ci!


title: Dodaj tag Shortcode w widżecie/pasku bocznym

text: Chcę dodać tag shortcode na pasku bocznym/widżecie. Jestem w stanie uzyskać wymaganą funkcjonalność, jeśli dodam kod w function.php motywu add_filter('widget_text', 'do_shortcode'); Mój problem polega na tym, że szukam sposobu, w jaki mogę to zrobić z samych plików wtyczek bez wpływu na żaden z plików motywów. Czy ktoś może mi powiedzieć, czy jest to możliwe?


title: Wtyczka WordPress do systemu poleceń partnerskich

text: Chcę stworzyć system afiliacyjny na WordPress . Mam na myśli to, że „Członek A” zaprosi innych do przyłączenia się (np. „Członek B”) za pomocą ciągu zapytania ?referralId=MemberA, wówczas Członek A otrzymuje punkty lub kredyty, a gdy Członek B zaprosi Członka C, wówczas Członek B otrzymuje zwrotnica. Czy jest jakaś wtyczka WordPress, która może to zrobić? Próbowałem już Affiliate Pro Plus (http://wordpress.org/extend/plugins/affiliate-pro-plus/), ale nie działa zgodnie z oczekiwaniami. Kiedy próbuję zarejestrować Członka B, korzystając z polecenia Członka A, Członek B nie liczy się jako downline Członka A.


title: Metadane w pętlach

text: Mam standardową pętlę Wordpress wyświetlającą elementy: $loop = new WP_Query( array( 'post_type' => 'images', 'orderby' => 'menu_order', ) ); while ( $loop->have_posts() ): $loop->the_post(); /* kod pętli, głównie HTML, kilka instrukcji if, nic specjalnego */ endwhile; Teraz chcę wyświetlić PEWNE dane z metaboxów i tu pojawia się problem. the_meta() działa dobrze, ale get_post_meta() w ogóle nie działa. Dlaczego to się dzieje? Jakieś poprawki? Muszę zrobić coś takiego jak get_post_meta($post->ID, 'metabox_field', true). Jakieś pomysły? [aktualizacja] W porządku. Więcej szczegółów. Mam niestandardowy typ posta o nazwie „obrazy”. Każdy element obrazu ma swój własny metabox z kilkoma polami w środku, nazwijmy je image_date, image_author, prawami autorskimi. Chcę wyświetlić autora obrazka z pola o nazwie image_author, więc: <?php $author = get_post_meta($post->ID, 'image_author', true); echo $autor; ?> Problem polega na tym, że działa TYLKO, gdy otwieram POJEDYNCZY obraz (single-image.php), ale nie działa w pętli (i chcę wyświetlić te dane również dla każdego elementu w pętli). The_meta() działa w obu miejscach, jeśli coś zmienia. Moja pętla wygląda dokładnie tak, jak powyżej. Chyba to wszystko :)


title: Skrypt do usuwania wszystkich nieaktywnych widżetów?

text: Ostatnio dużo pracowałem z widżetami i zgromadziłem mnóstwo widżetów w nieaktywnej kolekcji widżetów. Czy ktoś może udostępnić skrypt lub wtyczkę, która usunie wszystkie nieaktywne widżety ze strony?


title: witryna wordpress | All-in-one-cufon IE Problem

text: Mam witrynę, na której używam All-In-One Cufon (wtyczka Wordpress), ale mam pewne problemy z prawidłowym renderowaniem w IE. Witryna: [usunięto] Problem: Jak dotąd działa dobrze w Firefoksie i innych przeglądarkach, takich jak Chrome. Nawet w Internet Explorerze, gdy strona ładuje się po raz pierwszy, działa dobrze, ale kiedy odświeżę stronę lub odwiedzę inne strony, klikając link w witrynie, przestaje działać (tekst jest nadal widoczny, ale renderowanie cufon nie działa) :o Próbuję to naprawić od zeszłego dnia bez powodzenia. Nie jestem w 100% pewien, ale myślę, że jakiś czas temu działał dobrze, ale niedawno zauważyłem to dziwne zachowanie i nie mam pojęcia, co może być przyczyną tego. Moją pierwszą myślą był konflikt wtyczki, ale próbowałem wyłączyć WSZYSTKIE wtyczki oprócz cufon i nadal robi to samo. Czy ktoś jest świadomy / doświadczył podobnego problemu ze swoimi stronami internetowymi? i zna rozwiązanie? Z góry dziękuję.


title: Przepisywanie adresów URL w WordPress

text: Jak mogę przepisać adresy URL w WordPressie? Na przykład, mam adres URL taki jak `nazwa_witryny.com/?page=<liczby>&id=<liczby>` i chcę go przepisać jako `nazwa_witryny.com/strona/id/<inne informacje>`. Jak mogę to zrobić? Nie rozumiem zasad!


title: Jak wymusić statyczny tekst niestandardowego suwaka wordpress?

text: Stworzyłem własną dostosowaną wtyczkę suwaka do wordpress i jest dobrze stworzona ze wszystkimi funkcjami. Ale teraz chcę, aby „tytuł” i „opis” wyświetlane z każdym obrazem pozostały statyczne, co oznacza, że chcę, aby na wszystkich obrazach był wyświetlany tylko jeden „tekst” i jeden „opis”. Chcę, aby tekst i opis na pierwszym planie były statyczne, a obrazy w tle przesuwały się płynnie. Proszę pomóż mi pozbyć się tego problemu, byłbym bardzo wdzięczny.


title: Najlepszy sposób na obsługę wideo w formacie post-format bez korzystania z the_content?

text: Przeczytałem Kodeks i szukam około 3 godzin w witrynach, aby dogłębnie zrozumieć post-formaty, ale nie otrzymałem odpowiedzi. Nie wiem, czy to głupie pytanie, ale po długim szukaniu pomyślałem, że tutaj jest najlepsze miejsce, aby uzyskać odpowiedź. Rozwijam prosty motyw, który ma opcję wyświetlania postów w stylu siatki. Wyświetla miniaturę i fragment, a chcę wyświetlić wideo zamiast miniatury, jeśli wybrany format jest ustawiony. Jak to możliwe?


title: Migracja danych między serwerem lokalnym a deweloperskim

text: Pracowałem w średniej wielkości witrynie WordPress. Do tej pory po prostu hostowałem witrynę na moim lokalnym komputerze i pokazywałem ją wewnętrznym konsultantom za pośrednictwem naszej sieci lokalnej. Wszystko działa dobrze, a teraz nadszedł czas, aby pokazać to klientowi. Używałem git przez cały czas, więc wypchnięcie go na serwer deweloperski było bardzo proste. Zduplikowałem lokalną bazę danych i ręcznie wypchnąłem ją na serwer deweloperski, co było dość łatwe, z wyjątkiem tego, że musiałem ręcznie zmienić kilka wpisów URL. Teraz moje pytanie brzmi: jaki jest najlepszy sposób, aby zsynchronizować dwa wystąpienia WordPressa? Nadal mam więcej pracy do wykonania lokalnie, a DB będzie musiało zostać ponownie wzmocnione. Jak inne osoby zarządzają tym w sposób zautomatyzowany? Jedną z myśli, którą miałem, było napisanie haka git, aby pobrać dane MySQL, gdy wypycham z mojego komputera lokalnego i mam hak na drugim końcu, aby zaimportować dane, gdy serwer deweloperski ściąga. Jeśli jednak to zrobię, będę musiał się martwić o zmiany w tabeli wp_options. Czy ktoś ma jakieś strategie ułatwiające takie rzeczy? Dziękuję!


title: Pola dla różnych części strony

text: Zamierzam wykorzystać WordPressa do zarządzania głównie statyczną stroną internetową. Niektóre strony (takie jak typowe _o nas_) zawierają paragrafy, które powinny być edytowalne z panelu administracyjnego. Chodzi o to, że nie chcę, aby klient musiał zajmować się html strony lub czymkolwiek. Pierwszą rzeczą, o której pomyślałem, było użycie **szablonu strony** , więc html jest w pliku php szablonu, a zawartość można edytować z panelu administratora. Problem polega na tym, że akapity są podzielone przez jakiś kod PHP i trochę znaczników HTML, których nie należy edytować, coś takiego: <p> To jest pierwszy edytowalny akapit </p> <?php /* jakiś kod php */ ? > <img src="not-editable-img.png"> <p> To jest drugi edytowalny akapit </p> Jeśli używam szablonu strony, mam tylko jedno "pole", mianowicie zawartość strony (które być wyprowadzane za pomocą `the_content`). Jak mogę sprawić, by zawierał wiele pól? Coś w stylu „ _tekst akapitu 1_ ” i tym podobne? Czy powinienem używać niestandardowego typu posta? Oznaczałoby to utworzenie niestandardowego typu postu dla każdej strony i posiadanie tylko jednego posta dla każdego niestandardowego typu postu. Czy to właściwy sposób?


title: Użyj dwóch różnych stron indeksu

text: Ten link wskazuje na mój katalog domowy. Chcę, aby moi użytkownicy widzieli stronę `~/home/prototype.php`, kiedy wejdą na moją stronę. Aby to osiągnąć, ustawiłem w moim pliku .htaccess tego katalogu: DirectoryIndex /home/prototype.php # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond % {REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress Jest formularz, który muszą wypełnić i przesłać. Przekierowanie tego formularza jest ustawione na `www.imlovingdogs.com/index.php` tj. główna strona index.php, na której wordpress zaczyna ładować inne wymagane pliki. Ale ten `www.imlovingdogs.com/index.php` nie działa! Jak mogę osiągnąć taki przepływ dla moich użytkowników?


title: Migracja całej witryny internetowej do serwera lokalnego daje „Żądany adres URL /login/ nie został znaleziony na tym serwerze”.

text: Śledziłem większość przewodników po migracji do Wordpress, które mogę znaleźć. Podjęte przeze mnie kroki są następujące: 1. Wyeksportuj moją bazę danych wp z istniejącej witryny produkcyjnej 2. Uruchom nowy serwer Ubuntu za pomocą stosu LAMP, PHPMyAdmin i ssh 3. Skopiuj całą moją witrynę Wordpress z katalogu głównego (htdocs ) do katalogu /var/www/ mojego nowego serwera 4. Utwórz nową bazę danych na mysql nowego serwera, zaimportuj eksport z kroku 1 5. Zmień opcje wp na `site_url` i `home` (zmieniłem je do http://) 6. Uruchom znaleziony tutaj skrypt, aby wyczyścić resztę bazy danych. Kiedy wskazuję w przeglądarce adres IP nowego serwera w moim lokalnym intranecie, otrzymuję błąd: Nie znaleziono Żądany adres URL /login/ nie został znaleziony na tym serwerze. Serwer Apache/2.2.22 (Ubuntu) na 192.168.0.176 porcie 80 Otrzymuję ten sam błąd, gdy próbuję przejść do /wp-admin. Myślę, że mogę nie wskazywać poprawnie adresu URL, ale nie jestem pewien, gdzie go wskazać, jeśli nie jest to katalog główny mojego nowego serwera. Moje pliki .htaccess znajdują się w /var/www/.htaccess /var/www/wp-content/uploads/.htaccess /var/www/wp-content/themes/Portal/library/.htaccess /var/www/wp -content/plugins/s2member-files/.htaccess /var/www/wp-content/plugins/s2member-logs/.htaccess /var/www/wp-content/plugins/akismet/.htaccess /var/www/wp- content/plugins/s2member-pro/includes/.htaccess /var/www/wp-content/plugins/s2member/includes/jquery/.htaccess /var/www/wp-content/plugins/s2member/includes/.htaccess Zawartość głównego pliku .htaccess to # BEGIN Opcje WordPressa FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/Appledoc.* [LUB] RewriteCond %{REQUEST_URI} ^/Javadoc.*}Rewrite_COd. !^.*wordpress_logged_in.*$ [NC] RewriteRule . /wp-login.php?redirect_to=%{REQUEST_URI} [L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # KONIEC WordPress # BEGIN s2Member wykluczenia GZIP <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (^|\?|&)s2member_file_download\=.+ [LUB] RewriteCond %{QUERY_STRING} (^|\?|&)no-gzip\=1 RewriteRule .* - [E=no-gzip:1] </IfModule> # KONIEC wykluczeń GZIP s2Member


title: Możliwości nie działają

text: Stworzyłem niestandardowy typ posta: add_action( 'init', 'artwork_feature'); function artwork_feature() { register_post_type( 'grafika', array( 'labels' => array( 'name' => __( 'Grafika' ), 'singular_name' => __( 'Grafika' ) ), 'public' => true, 'exclude_from_search' => false, 'capability_type' => 'grafika', 'supports' => array('custom-fields', 'comments', 'title', 'editor', 'thumbnail'), 'capabilities ' => array( 'publish_posts' => 'publish_artworks', 'edit_posts' => 'edit_artworks', 'edit_others_posts' => 'edit_others_artworks', 'delete_posts' => 'delete_artworks', 'delete_others_artworks', 'delete_others_artworks', 'delete_others_artworks' 'read_private_posts' => 'read_private_artworks', 'edit_post' => 'edit_artwork', 'delete_post' => 'delete_artwork', 'read_post' => 'read_artwork', ), 'map_meta_cap' => true, 'tax onomies' => array('post_tag'), 'has_archive' => true ) ); } Następnie zainstalowałem wtyczkę MEMBERS, utworzyłem nową rolę 'Artyści', wszedłem do roli i kliknąłem 'Dodaj nowe możliwości'. Dodałem: 1. edit_artworks 2. delete_artworks Następnie w roli administratora dodałem: 1. edit_artworks 2. delete_artworks 3. publish_artworks 4. edit_others_artworks 5. delete_others_artworks 6. read_private_artworks Również po tutorialu dodałem to do functions.php: / / Ustaw role na meta możliwości add_filter( 'map_meta_cap', 'my_map_meta_cap', 10, 4 ); function my_map_meta_cap( $caps, $cap, $user_id, $args ) { /* Jeśli edytujesz, usuwasz lub czytasz grafikę, pobierz obiekt typu post i post. */ if ( 'edit_artwork' == $cap || 'delete_artwork' == $cap || 'read_artwork' == $cap ) { $post = get_post( $args[0] ); $post_type = get_post_type_object( $post->post_type ); /* Ustawia pustą tablicę dla wersalików. */ $caps = array(); } /* Jeśli edytujesz grafikę, przypisz wymaganą zdolność. */ if ( 'edit_artwork' == $cap ) { if ( $user_id == $post->post_author ) $caps[] = $post_type->cap->edit_posts; else $caps[] = $post_type->cap->edit_others_posts; } /* W przypadku usuwania grafiki przypisz wymaganą zdolność. */ elseif ( 'delete_artwork' == $cap ) { if ( $user_id == $post->post_author ) $caps[] = $post_type->cap->delete_posts; else $caps[] = $post_type->cap->delete_others_posts; } /* Jeśli czytasz prywatną grafikę, przypisz wymaganą zdolność. */ elseif ( 'read_artwork' == $cap ) { if ( 'private' != $post->post_status ) $caps[] = 'read'; elseif ( $user_id == $post->post_author ) $caps[] = 'czytaj'; w przeciwnym razie $caps[] = $post_type->cap->read_private_posts; } /* Zwróć możliwości wymagane przez użytkownika. */ return $caps; } Teraz, kiedy tworzę prace i publikuję je, mogę je tylko oglądać w obu rolach. Brakuje mi linków Edytuj, Szybka edycja i Kosz. Czy ktoś może pomóc?


title: Utwórz więcej hierarchicznej głębi kategorii dla niestandardowego typu wpisu / wtyczki taksonomii (widget)

text:
Źródło: http://getplatypi.com/docs/ Trochę nowy w świecie tworzenia wtyczek, ale do tej pory buduję wtyczkę typu post do obsługi kategorii hierarchicznych w formie listy z wieloma poziomami głębokości (struktura, którą chcę, jest podobna na adres: http://msdn.microsoft.com/en-us/library/windows/apps/br211362.aspx). Problem polega na tym, że chociaż mogę pobrać wszystkie kategorie postów w górnej kategorii nadrzędnej, nie pokazuje poziomów głębokości, jeśli istnieje wiele poziomów podkategorii. Chcę zapewnić tyle głębi, ile potrzeba, i utworzyć listę, która będzie dla niej widoczna. Na przykład teraz w WP Admin mam strukturę kategorii: Parent - Child Category - Sub-kategoria kategorii podrzędnej --- inny poziom kategorii - Druga kategoria podrzędna Ale kiedy przypisuję posty do powyższych kategorii, pasek boczny/widget wyświetlający posty będzie wyświetlał je tylko pod elementem nadrzędnym, a nie w drzewie hierarchicznym: Rodzic - Wpisy w kategorii podrzędnej - Wpisy w podkategorii kategorii podrzędnej - Wpisy przypisane do innego poziomu kategorii - Wpisy w kategorii podrzędnej Kategoria Zamiast tego chcę, aby naśladowała głębokość i strukturę hierarchiczną jako kategorie ustawione w zapleczu... Poniżej znajduje się kod PHP, którego używam dla widżetu... nie jestem pewien, jak go zmodyfikować. foreach ( $sorted_termchildren as $child_id => $order ) { $termobject = get_term_by( 'id', $child_id, 'isa_docs_category' ); //Wyświetl informacje podrzędne w otwartym kontenerze widżetów //echo '
' . $termobject->nazwa . '
'; echo '
'; // zagnieżdżenie pętli w postach każdego kota potomnego global $post; $args = array( 'post_type' => 'isa_docs', 'posts_per_page' => -1, 'order' => 'ASC', 'tax_query' => array( array( 'taxonomy' => 'isa_docs_category', ' field' => 'id', 'terms' => $termobject->term_id ) ), 'orderby' => 'meta_value_num', 'meta_key' => '_odocs_meta_sortorder_key', 'order' => 'ASC' ); $lista postów = get_posts( $args ); foreach ( $postlist as $single_post ) { echo '
ID == $current_single_postID ) echo ' class="aktywny-element-dokumentacji zorganizowanej"'; echo '>ID).'"title="'.esc_attr($single_post->post_title).'">'. $single_post->post_title . '
'; } echo '
'; } // end foreach ( $sorted_termchildren W przeciwnym razie, czy jest po prostu inna wtyczka, która już to robi? Szukałem wszędzie. Chciałbym to stworzyć sam, ale nie jestem pewien, jak sprawić, by kod działał odpowiednio. Jak mogę to naprawić ?


title: Folder szablonów niestandardowych

text: Utworzyłem niestandardowy folder ("/templates") i umieściłem w nim wszystkie moje pliki szablonów. zamiast root ("/wp-content/themes/my-theme/"). To działa dobrze. Czy muszę dodać jakąś funkcję wskazującą folder "/templates/" jako folder moich szablonów? Zwykle umieszczasz je w root, prawda? Teraz działa dobrze, ale zastanawiam się, czy jest coś, co muszę. Nie mogę znaleźć żadnych informacji o kodeksie wordpress. Właśnie zainstalowałem WPML i wszystkie strony szablonów są teraz 404. Zastanawiam się, czy to (niestandardowa lokalizacja folderu szablonów) powoduje 404 strony. bo strony woo-commerce pokazują się dobrze. wc nie znajduje się w moim folderze szablonów. jest generowany przez wtyczkę. -------- Dodatkowo stworzyłem szablon www/wp-content/themes/my-theme/tpl-home.php Nazwałem ten plik jako stronę szablonu. <?php /* Nazwa szablonu: Home */ get_header(); ?> I przeniosłem pliki szablonów na www/wp-content/themes/my-theme/templates/tpl-home.php Nadal działa dobrze. Widziałem, jak wiele motywów to robi. Czy muszę ustawić jakąś funkcję do wskazanego folderu?


title: Używasz 1 taksonomii dla wielu typów postów?

text: Wcześniej zadeklarowałem taksonomię „artysta” dla typu wpisu w profilu. Teraz tworzę typ postu CD i chciałbym użyć tej samej listy wykonawców z typu postu profilu To jest jeden przykład, jeśli otrzymam rozwiązanie, użyję go, aby udostępnić kilka innych taksonomii wśród st typów postów :D Z góry dziękuję. PS Używam JW Custom Post Types https://github.com/JeffreyWay/Easy-WordPress-Custom-Post-Types/


title: Jak wyświetlić polecany obraz w standardowym widżecie RSS?

text: Czy istnieje sposób wyświetlania polecanych obrazów w standardowym widżecie RSS w WordPressie?


title: Dodanie niestandardowego przycisku do ekranu WordPress Dodaj post (i Edytuj post też), który może zapisać post

text: Piszę wtyczkę, która ukrywa pole publikowania przed autorami, aby mogli kliknąć przycisk w utworzonym przeze mnie niestandardowym polu meta, aby zapisać swój post. (To nie jest jedyny cel wtyczki, reszta, nie mogę udostępnić. Ale ten krok jest potrzebny, aby zrobić resztę.) Chcę, aby WordPress zapisał post w DB tak jak zwykle, gdy kliknę ten przycisk . Jak wywołać akcję zapisywania postów WordPress z niestandardowego przycisku?


title: Jak wyświetlić galerię niestandardowego typu postu (obrazy) za pośrednictwem WP_Query?

text:
Próbuję załadować obrazy suwaka obrazu z funkcji galerii obrazów typu niestandardowego postu. Załóżmy na przykład, że mam niestandardowy typ posta o nazwie banner, do którego mogę załadować obrazy do jego galerii i mam taki kod HTML:

 slajd 1

 slajd 1

 Czy możesz mi powiedzieć, jak mogę użyć niestandardowego WP_Query, aby pobrać obrazy z niestandardowego postu i zamiast tego załadować je do suwaka powyższego kodu HTML? Do tej pory zrobiłem coś takiego, ale nie wyświetla żadnego obrazu! <?php $args = array( 'post_type' => 'baner'); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); $gallery = get_post_gallery_images($post); foreach( $gallery as $image ) { echo '
'; echo ''; echo '
'; } koniec; ?> **Aktualizacja:** Wynik `var_dump($POST)` ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/oZva3.png)


title: Niestandardowe pole wyboru pola

text:
Dla mojego niestandardowego typu postu musiałem dodać pole Attribute Meta, ale chciałem dodać do niego dodatkowe pole. Skopiowałem tutaj kod pola atrybutu strony i dodałem opcje wyboru, ale potrzebuję pomocy w przepisaniu pola wyboru „Typ modułu”, aby działał poprawnie podczas zapisywania strony. function page_attributes_meta_box2($post) { $post_type_object = get_post_type_object($post->post_type); if ( $post_type_object->hierarchical ) { $pages = wp_dropdown_pages(array('post_type' => $post->post_type, 'exclude_tree' => $post->ID, 'selected' => $post->post_parent, ' name' => 'parent_id', 'show_option_none' => __('(bez rodzica)'), 'sort_column'=> 'menu_order, post_title', 'echo' => 0)); if ( ! empty($pages) ) { ?>
<?php _e('Parent') ?>
 <?php _e('Parent') ?> <?php echo $pages; ?> <?php } // zakończenie sprawdzania pustych stron } // zakończenie sprawdzania hierarchicznego. ?>
<?php _e('Zamów') ?>

<?php _e('Zamówienie') ?><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo esc_attr($post->menu_order) ? >" />

<?php if ( 'page' == $post->post_type ) _e( 'Potrzebujesz pomocy? Użyj zakładki Pomoc w prawym górnym rogu ekranu.' ); ?>

<?php _e('Typ modułu') ?>
 < ?php _e('Typ modułu') ?> <select id="_cnote_module_page_type" name="_cnote_module_page_type"> <option value="default">Domyślny</option> <option value="parent">Rodzic </option> <option value="chat">Czat</option> </select> <?php } add_action('add_meta_boxes','add_post_template_metaboxr'); function add_post_template_metaboxr() { add_meta_box('postparentdiv', __('Szablon posta'), 'page_attributes_meta_box2', 'module', 'side', 'high'); } **pamiętaj, że nie zmieniłem jeszcze nazwy wszystkiego, jest tu dużo kopiowania i wklejania