title: Jak dodajemy nowe kategorie przez wp_insert_post

text: Używam przesyłania formularza fornt end, teraz chcę dodać nową kategorię, a przed dodaniem tej kategorii chcę sprawdzić, czy istnieje, czy nie, jeśli tak, to po prostu dodaj do tej kategorii, w przeciwnym razie dodaj nową. Więc w kodeksie powiedzieli, że jeśli musisz dodać kategorię, po prostu użyj wp_set_post_terms(); i jest jeszcze jedna funkcja do dodania tego, a mianowicie wp_set_object_terms(); i jest jeszcze jeden sposób dodawania kategorii to wp_insert_category($cat_name); więc jest zamieszanie zarówno w sposobie ich działania, jak i w tym, który z nich wybrałem. Mam nazwę kategorii, więc czy mogę jej teraz użyć. Jest kod, jak je dodać, ale u mnie nie działają. //Sprawdź, czy kategoria już istnieje $cat_ID = get_cat_ID( $category ); //Jeśli nie istnieje, utwórz nową kategorię if($cat_ID == 0) { $cat_name = array('cat_name' => $category); wp_insert_category ($nazwa_kota); } //Pobierz ponownie ID kategorii w przypadku utworzenia nowego $new_cat_ID = get_cat_ID($category); // Utwórz obiekt postu $new_post = array( 'post_title' => $headline, 'post_content' => $body, 'post_date' => $date, 'post_status' => 'publish', 'post_author' => 1, 'post_category' => array($new_cat_ID) ); Więc każde rozwiązanie tego problemu. Dziękuję


title: Baner w Wordpress

text: Próbuję dodać baner reklamowy do mojej strony głównej Wordpress (w nagłówku) oraz osobny baner reklamowy dla wszystkich innych stron (w nagłówku). Dostałem baner tylko na stronę główną, ale próbuję wymyślić kod, aby zakończyć ten problem. `<?php if ( is_home() ) { ?><div id="banner">moja treść</div><?php } ?>` Jak mogę uzyskać inny baner reklamowy na wszystkich innych stronach/postach? Dziękuję.


title: wtyczka pobiera wartość ze strony panelu administratora

text:
jak pobrać wartości z formularza (formularz jest na stronie panelu administracyjnego) i umieścić je w osobnych zmiennych <?php /* Nazwa wtyczki: calc plugin */ add_action('admin_menu', 'my_plugin_menu'); function my_plugin_menu() { add_options_page('Moje opcje wtyczek', 'Moja wtyczka', 8, 'Twój-unikalny-identyfikator', 'moje_opcje_wtyczek'); } function my_plugin_options() { echo '
'; echo '
Wprowadź dwie lokalizacje
 <form action="#" name="mapform" id="mapform"> Lokalizacja A: <input type="text" name="A">
 Lokalizacja B: <input type="text" name="B">
 <input type="submit" name="submit" value="Update"> </form>'; echo '
'; } ?>


title: Jak mogę usunąć wyskakujące okienko „Powered by Wordpress” w wp-login.php?

text: W wp-login.php dodałem logo firmy. Jednak po najechaniu na nią myszą pojawia się informacja „Powered by Wordpress”. Jak mogę to usunąć?


title: Dodać załącznik graficzny do posta za pomocą kodowania?

text: Próbowałem dodać obraz jako obraz załącznika do posta. w `wp_postmeta` dodałem `_wp_attached_file` jako `meta_key` i `value = productimages/Routers/v/CISCO1941.jpg` to nie działa i nie mogłem zobaczyć obrazu jako załącznika! ale kiedy używam przycisku dodawania obrazu w edytorze HTML Wordpress, dodaje dokładnie to pole do tej tabeli, ale z innym identyfikatorem postu! czy jest jakaś zależność dla tego pola? zrzut ekranu z db: http://i.stack.imgur.com/mVlse.png


title: baza danych nie odpowiada na localhost

text: Próbuję pracować na istniejącej witrynie WordPress na moim Macu przy użyciu MAMP. Skonfigurowałem nową bazę danych za pomocą phpMyAdmin i zaimportowałem tabele z kopii zapasowej wersji online. Wkleiłem to do wp-config.php: define('WP_SITEURL', 'http://'. $_SERVER['HTTP_HOST']); define('WP_HOME', 'http://'. $_SERVER['HTTP_HOST']); Użyłem tego polecenia w SQL, aby zmienić adresy URL na localhost: UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com'); Kiedy wchodzę na `http://localhost` strona wyskakuje dobrze; w admin otrzymuję dashboard i mogę robić takie rzeczy jak wgrywanie i aktywowanie motywu, ale nie mogę, powiedzmy, wgrać nowych mediów (uzyskać uszkodzony obraz jpg) lub zmodyfikować motyw – Ultimatum. Kiedy próbuję przejść do lokalnych stron witryny ze strony głównej, otrzymuję komunikat „Żądany adres URL /about nie został znaleziony na tym serwerze”. Jakieś pomysły?


title: Arkusz stylów nie ładuje się w firefoxie i IE!

text: Cześć Niedawno zacząłem uczyć się tworzenia motywów wordpress, a dziś zacząłem swój pierwszy motyw worpress. Z jakiegoś powodu mój arkusz stylów jest ładowany w chrome, ale nie w firefox i IE w przeglądarkach, których używam do testowania. Zauważyłem, że wordpress sam dodaje kilka dodatkowych stylów. Oto, co znalazłem na stronie źródłowej: <style type="text/css" media="screen"> html { margin-top: 28px !ważne ; } * html body { margin-top: 28px !ważne; } </style> To nie są style, które dodałem. Próbowałem użyć `<?php echo get_stylesheet_uri() ?>` <?php bloginfo('stylesheet_url') Ale żaden z motywów nie ładuje stylów. Oto mój cały kod nagłówka: <!DOCTYPE html> <html lang="pl"> <head> <meta charset="utf-8"> <title> <?php if (is_home () ) { bloginfo('name '); }elseif ( is_category() ) { single_cat_title(); Echo ' - ' ; bloginfo('nazwa'); } elseif (is_single() ) { single_post_title();} elseif (is_page() ) { bloginfo('nazwa'); Echo ': '; single_post_title();} else { wp_title('',prawda); } ?> </title> <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="<?php bloginfo('html_type') ?>" media="screen" /> <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" type ="<?php bloginfo('html_type') ?>" /> <!--[if lt IE 9]> <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <?php wp_head() ?> </head >


title: Utwórz „bezplikowy” szablon strony w Functions.php

text: (Przez „Szablon strony” rozumiem plik motywu z nagłówkiem „Nazwa szablonu”, który można wybrać w polu rozwijanym „Szablon” na stronie administratora.) W wielu przypadkach zbudowałem szablony stron, które mogłyby być osiągane przez podpięcie się do the_content lub pre_get_posts lub czegoś podobnego. To skłania mnie do zastanowienia się, czy istnieje sposób na "zarejestrowanie" wybranego szablonu motywu w `functions.php` lub wtyczki bez tworzenia samego pliku motywu. Powody, dla których chcę to zrobić: * W scenariuszach, które mam na myśli, zwykle kopiuję page.php prawie dosłownie. Oznacza to, że każda przyszła zmiana w page.php musi zostać wykonana dwukrotnie. Jest to jeszcze bardziej uciążliwe dzięki aktualizacjom motywów potomnych. * Podoba mi się interfejs użytkownika pola „Szablon”. Dla moich klientów ma to sens bardziej niż niektóre alternatywy (patrz poniżej), które mogę wymyślić. W moim przypadku mogę wymyślić pewne obejścia, takie jak użycie niestandardowego pola meta lub shortcode (aby wstawić treść, która w przeciwnym razie jest przechowywana w szablonie). Może nawet będę w stanie to zrobić (o czym właśnie pomyślałem, ale jeszcze nie testowałem): /* Nazwa szablonu: Mój szablon */ get_template_part( 'page' ); Ale w końcu wracam do tego pomysłu, więc jestem ciekawa, czy ktoś wie, jak to zrobić. Jeśli uważasz, że to okropny pomysł, to mnie też interesuje ta opinia. ======= AKTUALIZACJA: Powinienem dodać, że: * Wiem, że istnieje tablica `$templates` dla każdego motywu z tego wątku na forum pomocy technicznej, która zasadniczo działa przeciwnie do tego, co chcę robić. * Wiem, że istnieje ukryte niestandardowe pole `_wp_page_template` z tego wątku WPSE. Wydaje mi się, że muszę tylko zrozumieć, jak tablica szablonów i pola niestandardowe współpracują ze sobą (a także nie rozumiem, jak działają ukryte niestandardowe pola meta). ======= AKTUALIZACJA II: 08.10.12 Backend motywu został znacząco przerobiony od czasu, gdy zadano to pytanie, więc powyższa tablica $templates już nie istnieje.


title: Potrzebna pomoc związana z AZindex

text: Chcę wyświetlić listę postów na stronie kategorii za pomocą AZindex. Stworzyłem więc szablon kategorii. Teraz potrzebuję pomocy, aby wyświetlić tam listę postów według kategorii. Na przykład, kiedy przejdę do domain.com/category/health, strona powinna wyświetlać tylko listę postów z kategorii zdrowie za pomocą azindex. Czy to możliwe? Potrzebuję twojej pomocy.


title: Pobieranie linków w wielu kategoriach (skrzyżowanie)

text: Używam `get_bookmarks()`, aby uzyskać linki do zakładek. Mogę dostać linki umieszczone w kat. A **_lub_** kat. B, ale chcę tylko linki w kat. A **_i_** B. **Przykład tego, czego potrzebuję:** Mam trzy kategorie linków `cat#1` , „kat nr 2”, „kat nr 3”. Potrzebuję uzyskać linki zarówno w `cat#1 I cat#2`, a nie `cat#1 OR cat#2` (przecięcie). **Obecnie używam:** $links = get_bookmarks(array('category' => $term_ids)); Co nie działa ze względu na sposób działania metody `get_bookmarks()`. $category_query = ''; $dołącz = ''; if ( !empty($kategoria)) { $incategories = preg_split('/[\s,]+/',$kategoria); if ( count($incategories)) { foreach ( $incategories as $incat ) { if (empty($category_query)) $category_query = ' AND ( tt.term_id = ' . intval($incat) . ' '; else $category_query .= ' OR tt.term_id = ' .intval($incat) . ' '; } } } Uwaga od Edytora: Dodanie przykładowego kodu w celu łatwiejszego zrozumienia — domyślnie odpytywane zakładki z klauzulą `OR`. pobrane przez `$wpdb->get_result()`, nie ma łatwego rozwiązania w filtrowaniu poza wynikiem zapytania.Wszelka pomoc lub pomysł na inne podejście byłyby bardzo mile widziane.**UPDATE** Próbuję stworzyć nową funkcję funkcji get_bookmarks().Zmieniłem kod pokazany powyżej na poniższy (zmieniłem OR na AND).Ale teraz nic nie zwraca.Być może muszę zmienić th e SQL do czegoś innego. Potrzebuję więc ** porady w tej sprawie.** if ( !empty($category)) { $incategories = preg_split('/[\s,]+/',$category); if ( count($incategories)) { foreach ( $incategories as $incat ) { if (empty($category_query)) $category_query = ' AND ( tt.term_id = ' .intval($incat) . ' '; else{ / / sisir $category_query .= ' AND tt.term_id = ' .intval($incat) . ' '; } } } }


title: Problem jscrollpane z moim motywem potomnym

text:
próbuję użyć jscrollpane , ale próbowałem wszystkiego , nadal nie działa to jest moja strona funkcji <?php /** * Funkcje niestandardowego motywu potomnego * * Katalog nadrzędny tego pliku można przenieść do katalogu wp-content/themes * aby zezwolić na aktywację tego motywu potomnego w sekcji Wygląd - Motywy w WP-Admin. * * W zestawie znajduje się zestaw stałych, które można zdefiniować w celu dostosowania aspektów funkcjonalności * Themes, a także przykładowa funkcja, która doda link do Twojego menu. * „Odkomentuj” lub dodaj więcej, aby dostosować funkcjonalność motywu podrzędnego. * * Więcej pomysłów można znaleźć w dokumentacji społeczności Thematic * @link http://docs.thematictheme.com * * @package ThematicSampleChildTheme * @subpackage ThemeInit */ // Uwolnij moc klas dynamicznych Thematic // // define („THEMATIC_COMPATIBLE_BODY_CLASS”, prawda); // define('THEMATIC_COMPATIBLE_POST_CLASS', true); // Uwolnij moc formularza komentarza Themematic // // define('THEMATIC_COMPATIBLE_COMMENT_FORM', true); // Uwolnij moc funkcji linków do kanałów tematycznych // // define('THEMATIC_COMPATIBLE_FEEDLINKS', true); // Dodaje link do Twojego menu // http://codex.wordpress.org/Template_Tags/wp_page_menu //function childtheme_menu_args($args) { // $args = array( // 'show_home' => 'Strona główna' , // 'sort_column' => 'menu_order', // 'menu_class' => 'menu', // 'echo' => false // ); // zwróć $args; //} //add_filter('wp_page_menu_args','childtheme_menu_args'); ?> <?php include("custompost_functions.php"); /* ************************************************** */ /* Usuń standardowe menu tematyczne */ /* **************************************** ******* */ function remove_menu() { remove_action('thematic_header','thematic_access',9); } add_action('init', 'remove_menu'); // Przeniesienie menu tematycznego nad nagłówek add_action('thematic_header','thematic_access',6); /* ************************************************** */ /* Zarejestruj Menu */ /* ****************************************** **** */ function register_my_menus() { register_nav_menus( array( 'primary-menu' => __( 'Menu główne' ), 'footer-menu' => __( 'Menu stopki' ), 'menu boczne' => __( 'Menu boczne' ), ) ); } add_action( 'init', 'register_my_menus' ); /* ************************************************** */ /* Menu stopki */ /* ***************************************** **** */ function footer_menu() { if ( has_nav_menu( 'footer-menu' ) ) { wp_nav_menu( array( 'theme_location' => 'footer-menu', 'container_class'=>'footer-menu', ' menu_class' => 'sf-menu', // przypisujemy klasę sf-menu do menu ul, aby superfish działał również w tym menu ) ); } } add_action('stopka_tematyczna','menu_stopki',41); function side_menu() { if ( has_nav_menu( 'menu boczne' ) ) { wp_nav_menu( array( 'theme_location' => 'menu boczne', 'container_class'=>'menu boczne', 'menu_class' => 'strona -menu', // przypisujemy klasę sf-menu do menu ul, aby superfish działał również w tym menu ) ); } } add_action('thematic_abovemainasides','side-menu'); /* ************************************************** */ /* Menu społecznościowe stopki */ /* ***************************************** ***** */ function social_menu(){ ?>

Obserwuj nas

<img src="<?php bloginfo('stylesheet_directory'); ?>/images/Facebook.png" width="16" height="16" />

<img src="<?php bloginfo('stylesheet_directory'); ?>/images/Twitter.png" width="16" height= "16" />

<img src="<?php bloginfo('stylesheet_directory'); ?>/images/Skype.png" width= "16" height="16" />

 <?php } add_action('thematic_footer','social_menu',44); ?> <?php /* ******************************************* *** */ /* Wiadomość wprowadzająca */ /* ************************************* ********* */ if(!function_exists('getPageContent')) { function getPageContent($pageId,$max_char) { if(!is_numeric($pageId)) { return; } globalny $wpdb; $nsquery = 'WYBIERZ RÓŻNE * OD' . $wpdb->posty . ' GDZIE ' . $wpdb->posty . '.ID=' . $identyfikator strony; $post_data = $wpdb->get_results($nsquery); if(!empty($post_data)) { foreach($post_data as $post) { $text_out=nl2br($post->post_content); $text_out=str_replace(']]>', ']]>', $text_out); $text_out = strip_tags($text_out); return substr($text_out,0,$max_char); } } } } /* ********************************************* ** */ /* ZAREJESTRUJ SKRYPTY */ /* ************************************** ******** */ function register_js() { if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'); wp_register_script('quicksand', get_template_directory_uri() . '/js/jquery.quicksand.js', 'jquery'); wp_register_script('easing', get_template_directory_uri() .'/js/jquery.easing.1.3.js', 'jquery'); wp_register_script('custom', get_template_directory_uri() . '/js/jquery.custom.js', 'jquery', '1.0', TRUE); wp_register_script('ładneZdjęcie', get_template_directory_uri() . '/js/jquery.prettyPhoto.js', 'jquery'); wp_register_script('mousewheel', get_template_directory_uri() . '/js/jquery.mousewheel.js', 'jquery'); wp_register_script('jscrollpane', get_template_directory_uri() . '/js/jquery.jscrollpane.js', 'jquery'); wp_enqueue_script('jquery'); wp_enqueue_script('szybkie piaski'); wp_enqueue_script('ładneZdjęcie'); wp_enqueue_script('łagodzenie'); wp_enqueue_script('niestandardowy'); wp_enqueue_script('kółko myszy'); wp_enqueue_script('jscrollpane'); } } add_action('init', 'register_js'); /* ************************************************** */ /* ZAREJESTRUJ STYLE */ /* ***************************************** **** */ function register_styles() { if (!is_admin()) { wp_register_style('prettyPhoto', get_stylesheet_directory_uri() .'/prettyPhoto.css'); wp_register_style('jscrollpane', get_stylesheet_directory_uri() . '/jquery.jscrollpane.css'); wp_enqueue_style( 'ładne zdjęcie'); wp_enqueue_style('jscrollpane'); } } add_action('init', 'register_styles'); /* ************************************************** */ /* Menu Jscrollpane */ /* ****************************************** **** */ function my_in_head(){ ?>  <?php } add_action('wp_head', 'my_in_head'); /* ************************************************** */ /* Wyklucz określony post */ /* ***************************************** ***** */ function excludeposts() { global $wp_query; if (is_home()) { $defaults = $wp_query->query_vars; $exclude = array('category__not_in'=> array(5)); $args = wp_parse_args($wyklucz, $domyślne); zapytanie_posty($args); } } add_action('thematic_above_indexloop','excludeposts'); /* ************************************************** */ /* Zmiana domyślnego wyświetlania treści na stronie głównej na fragment */ /* *********************************** *********** */ function childtheme_content($content) { if (is_home() || is_front_page()) { $content= 'wyciąg';} return $content; } add_filter('thematic_content', 'childtheme_content'); /* ************************************************** */ /* Dodaj czytaj więcej Link */ /* **************************************** ****** */ function new_excerpt_more($more) { global $post; return 'ID) . '">Czytaj więcej...'; } add_filter('excerpt_more', 'new_excerpt_more'); /* ************************************************** */ /* Dynamiczny pasek boczny dla każdego szablonu strony */ /* **************************************** ******** */ function is_pagetemplate_active($pagetemplate = '') { global $wpdb; $ sql = "wybierz meta_key z $ wpdb->postmeta gdzie meta_key jak '_wp_page_template' i meta_value jak '" . $szablon strony . "'"; $wynik = $wpdb->zapytanie($sql); if ($wynik) { return TRUE; } else { zwróć FAŁSZ; } } // is_pagetemplate_active() function test_template_widgets_init() { if(is_pagetemplate_active('template-page-test.php')) { register_sidebar( array ( 'name' => 'Testuj obszar widżetów', 'id' => 'test -widget-area', 'before_widget' => '
', 'after_widget' => "
", 'before_title ' => '
', 'after_title' => '
', ) ); } // zakończenie testu aktywnego szablonu } // test_template_widgets_init() add_action ( 'init' , 'test_template_widgets_init' );?> czy poprawnie rejestruję jquery i skrypty ? czy coś mi brakuje? Dziękuję


title: Jak stworzyć niestandardową kategorię administratora wordpress

text: Zastanawiałem się, jak utworzyć niestandardową kartę i stronę dla ekranu administratora Wordpress i zapisać jego dane. Chcę mieć pasek na mojej stronie głównej, a dane `<li>` będą się zmieniać, gdy tylko będę miał dostęp do nowych informacji. Zamiast bezpośrednio edytować kod, myślałem o stworzeniu dla niego kategorii, kliknięciu Zapisz, przechowaj dane , a następnie użyj tego dla tickera za pośrednictwem strony administratora wp. O wiele łatwiej będzie się tam zalogować, aby to zrobić. Gdybym mógł dowiedzieć się, jak zapisać pole wejściowe, mógłbym po prostu tego użyć, ponieważ będę jedyną osobą zmieniającą listę tickera. Jakieś pomysły?


title: Meta pola wyświetlane tylko podczas edycji normalnych (domyślnie wp post_type) postów

text: Mam wiele metaboxów dla moich głównych/domyślnych typów postów. Mam też wiele post_types, w których te pola meta nie mają sensu. Czy możesz mi podpowiedzieć funkcję if/else, której użyłbym do wyświetlania metaboxów tylko w domyślnym typie post_type?


title: Zmodyfikuj plik .htaccess

text: Mam bardzo prosty problem: chcę zmodyfikować plik .htaccess. Wygląda na to, że nie jestem jedyną osobą i widziałem inne pytania i wygooglowałem problem. Nic nie pomaga. Coś ciągle nadpisuje plik, czasami powodując wyrzucenie http 500 na całą witrynę. To, co już wiem lub próbowałem: * Powinienem umieścić niestandardowe reguły htaccess poza blokiem Wordpress (oznaczonym przez `# BEGIN/END wordpress`) * Jest też inny blok z wtyczki buforowania. Moje niestandardowe reguły również znajdują się poza tym blokiem. * Opróżnienie pamięci podręcznej lub całkowite wyłączenie/wyłączenie pamięci podręcznej nie powoduje problemu. * Na początku umieściłem własne reguły między innymi blokami `BEGIN` i `END`, którym nadałem niestandardową nazwę, ale nie byłem pewien, czy Wordpress naprawdę szukał `# BEGIN wordpress` czy tylko `# BEGIN`, więc Używam teraz zupełnie innej nazwy. * Niektóre źródła sugerowały chmodowanie pliku (`-w`), aby nie można go było już zmienić. Próbowałem już tego, to nie działa, po prostu zostaje odtworzone. * Nie ma wyraźnych kroków prowadzących do odtworzenia problemu. Czasami trwa to cały wieczór bez nadpisywania kodu, innym razem wystarczy dwie minuty. * Gdy plik zostanie nadpisany, czasami zachowuje część moich niestandardowych reguł. Zwykle od jednej do dwóch trzecich wydaje się to dość arbitralne. To regularnie powoduje, że cała witryna przechodzi na HTTP 500 i muszę ją przywrócić przez ssh (`git checkout .htaccess`). * Przejrzałem/przeczytałem jakiś kod źródłowy Wordpressa i wydaje się, że wszystko jest zakodowane tak, jak powinno. Rzeczywiście widzę, że sprawdza on bloki BEGIN i END (chociaż kod jest niekomentowany i brzydki). * Dodałem również `fclose(fopen('htaccess-changed','w'));` do funkcji Wordpress, która zapisuje plik .htaccess, ale bez skutku. Plik htaccess ponownie się zepsuł, ale plik zmieniony w htaccess nigdy nie jest tworzony. * Nawet gdybym się poddał i po prostu przywrócił działającą wersję .htaccess przy każdym załadowaniu strony, to i tak nie zadziałałoby, ponieważ cholera od czasu do czasu wyświetla http 500s. A uruchamianie cronjob co minutę to też... No daj spokój, czy muszę uciekać się do takich metod? Nawet gdybym to zrobił, może być losowo wyłączony przez całą minutę. I nieważne, że jest to zła praktyka na wspólnym hoście. * W tej chwili najlepiej domyślam się, że uruchamia go wordpress-cron, ale wydaje się to tak przypadkowe, że nie wiem, który. Po prostu zdarzyło się to trzy razy w ciągu pięciu minut (w końcu pomyślałem, że można to odtworzyć, ale nie, teraz to się nie zdarza), a najczęstszy cron to co kwadrans. Więc jestem na tym błędzie od kilku dni, ale zaczyna mi po prostu brakować rzeczy do wypróbowania. Witryna nie może zostać uruchomiona, jeśli oczywiście przypadkowo się zepsuje. Jakieś sugestie, gdzie szukać kodu, który nadpisuje plik .htaccess i jak sprawić, by pozostawił moje modyfikacje na miejscu? Zainstalowane wtyczki: wtyczka Cherry, formularz kontaktowy 7, Register Plus Redux, W3 Total Cache i WooCommerce. **Aktualizacja:** Zmieniony plik htaccess został utworzony, ale w katalogu wp-admin! Zapisuję również datetime i request-uri, a to pokazuje, że może się to zdarzyć na każde żądanie. Przeważnie jednak widzę żądania admin-ajax, a te często zdarzają się z bardzo dużą częstotliwością, co wyjaśniałoby, że plik htaccess jest całkowicie zepsuty (tj. żądania przeszkadzają). Dziwne, że nikt inny tego nie doświadcza. Ale przynajmniej to coś w panelu administracyjnym... ale co... Pomysły?


title: Problem z przesyłaniem pliku PDF

text: Korzystam z wtyczki ** niestandardowego formularza kontaktowego **, w którym zachowałem pole przesyłania plików z przodu. Ale kiedy próbuję przesłać plik pdf, nie jest ustawiana ani **tmp_name**, ani **type** właściwość $_FILES. Jednak inne pliki, takie jak jpg/gih, są przesyłane. Potrzebujesz pilnej pomocy


title: Deska rozdzielcza Biały ekran śmierci?

text: Mogę zalogować się do pulpitu nawigacyjnego i zobaczyć menu po lewej stronie, pokazuje, że jest 7 aktualizacji wtyczek i wymagana jest aktualizacja WordPress, ale po prawej mam pusty ekran, widzę przycisk aktualizacji do WordPress u góry, ale kiedy klikniesz na to nic się nie dzieje. Przeczytałem kilka postów i zaktualizowałem plik konfiguracyjny do true, aby pokazać debug, oto wynik: * * * > **Notice:** wp_enqueue_style został wywołany niepoprawnie. Skrypty i style > nie powinny być rejestrowane ani umieszczane w kolejce, dopóki wp_enqueue_scripts, > admin_enqueue_scripts lub init hooks. Zobacz Debugowanie w WordPressie, aby uzyskać > więcej informacji. (Ta wiadomość została dodana w wersji 3.3.) in > /home/breinton/public_html/wp-includes/functions.php w linii 3587 > > **Notice:** wp_enqueue_script został wywołany niepoprawnie. Skrypty i style > nie powinny być rejestrowane ani umieszczane w kolejce, dopóki wp_enqueue_scripts, > admin_enqueue_scripts lub init hooks. Zobacz Debugowanie w WordPressie, aby uzyskać > więcej informacji. (Ta wiadomość została dodana w wersji 3.3.) in > /home/breinton/public_html/wp-includes/functions.php w linii 3587 > > **Notice:** register_sidebar_widget jest przestarzały od wersji 2.8! Zamiast tego użyj > wp_register_sidebar_widget(). w /home/breinton/public_html/wp- > include/functions.php w wierszu 3467 > > ** Uwaga:** register_widget_control jest przestarzała od wersji 2.8! Zamiast tego użyj > wp_register_widget_control(). w /home/breinton/public_html/wp-> include/functions.php on line 3467 * * * Jakakolwiek pomoc lub porada, jak to naprawić i zaktualizować Wordpress bez utraty czegokolwiek, byłaby naprawdę mile widziana.


title: Błąd motywu Twenty Eleven Child podczas próby użycia przepisanej funkcji

text:
Próbowałem dokonać niewielkiej zmiany w funkcji w motywie Twenty Eleven (wordpress 3.4.2) Otrzymuję komunikat o błędzie: Błąd krytyczny: Nie można ponownie zadeklarować dwadzieściaeleven_widgets_init() (wcześniej zadeklarowane w /home/labfocus/public_html/wp-content/ themes/twentyeleven-child/functions.php:10) w /home/labfocus/public_html/wp-content/themes/twentyeleven/functions.php w wierszu 438 Oto funkcja, którą próbuję dodać w miejsce oryginalnego < ?php if ( !function_exists('twentyeleven_widgets_init')) { /** * Zarejestruj nasze paski boczne i widżetowane obszary. Zarejestruj również domyślny widżet Ephemera. * * @od Twenty Eleven 1.0 */ function dwadzieściaeleven_widgets_init() { register_widget( 'Twenty_Eleven_Ephemera_Widget' ); register_sidebar( array( 'name' => __( 'Główny pasek boczny', 'twentyeleven' ), 'id' => 'sidebar-1', 'before_widget' => '
 %2$s
', 'after_widget' => "
", 'before_title' = > '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => __( 'Pasek boczny prezentacji', 'twentyeleven' ), 'id' => 'sidebar-2', 'description' => __( 'Pasek boczny opcjonalnego szablonu prezentacji', ' dwadzieściaeleven' ), 'before_widget' => '', 'after_widget' => "", 'before_title' => '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => __( 'Footer Area One', 'twentyeleven' ), 'id' => 'sidebar-3', 'description' => __( 'Opcjonalny obszar widżetu dla stopki Twojej witryny' , 'twentyeleven' ), 'before_widget' => '', 'after_widget' => "", 'before_title' = > '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => __( 'Obszar stopki 2', 'twentyeleven' ), 'id' => 'sidebar-4', 'description' => __( 'Opcjonalny obszar widżetu dla stopki Twojej witryny' , 'twentyeleven' ), 'before_widget' => '', 'after_widget' => "", 'before_title' = > '
', 'after_title' => '
', ) ); register_sidebar( array( 'name' => __( 'Stopka trzecia', 'twentyeleven' ), 'id' => 'sidebar-5', 'description' => __( 'Opcjonalny obszar widżetów dla stopki twojej witryny' , 'twentyeleven' ), 'before_widget' => '', 'after_widget' => "", 'before_title' = > '
', 'after_title' => '
', ) ); } } Czy ktoś może zobaczyć, co jest nie tak z tą funkcją? **Aktualizacja:** tak naprawdę chcę zmienić sposób, w jaki `Główny pasek boczny` wyświetla `before_widget` i `after_widget`. Dodałem `<div>`


title: Jak stworzyć niestandardową stronę skryptu php

text: Jestem n00b do WP Próbuję wykonać skrypt php, który znajduje się w katalogu domowym Wordpress. Na przykład **run.php** <?php echo 'uruchamiam'; ?> Chcę uruchomić tę stronę w url `mysite.com/run.php`, ale mówi, że 404 nie znaleziono, nawet `run.php` znajduje się pod tym adresem. Każda pomoc byłaby mile widziana. Z góry dziękuję.


title: Posty bez stronicowania

text:
Kopiuję witrynę klienta, więc wyeksportowałem i ponownie przeniosłem posty itp. oraz motyw do nowej witryny. Jednak na stronie głównej zawiera paginację najnowszych postów za pomocą wtyczki Widget Paginator. Wygląda na to, że zbudowali ten motyw wokół głównego motywu Twenty Twelve, więc używa następującego kodu do stronicowania postów: <?php while ( have_posts() ): the_post(); ?> <?php if ( has_post_thumbnail() ): ?>
 <?php the_post_thumbnail(); ?>
 <?php endif; ?> <?php get_template_part( 'treść', 'strona' ); ?> <?php koniec; // koniec pętli. ?> Czy ktoś może doradzić, dlaczego posty nie mają stronicowania? Wszelkie porady są mile widziane, ponieważ sprawdziłem pętlę i wydaje się, że jest poprawna. **EDYTUJ:** Oto kod, który mam <?php /** * Domyślny szablon do wyświetlania treści. Używany zarówno do pojedynczego wyszukiwania, jak i indeksowania/archiwizowania/wyszukiwania. * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php $kategoria = pobierz_kategorię(); ?> <?php if ( !is_category() && !is_archive() ) : ?>
<?php echo $category[0]->cat_name;?>
 <?php endif; // is_single() ?> <?php if ( is_sticky() && is_home() && ! is_paged() ) : ?>
 <?php _e( 'Polecany post', 'Cykl Strefa' ); ?>
 <?php endif; ?>  <?php the_post_thumbnail(); ?> <?php if ( is_single() ) : ?>
<?php the_title(); ?>
 <?php else : ?>
 <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink do %s', 'Przejdź do strefy' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="zakładka"><?php the_title(); ?>
 <?php endif; // is_single() ?> <?php echo get_the_date(); ?> <?php if ( comments_open() ) : ?>
 <?php comments_popup_link( '' . __( 'Opuść odpowiedź', 'Strefa cyklu' .'', __( '1 odpowiedź', 'Strefa cyklu' ), __( '% odpowiedzi', 'Strefa cyklu') ); ?>
 <?php endif; // comments_open() ?>  <?php if ( is_search() ) : // Wyświetlaj tylko fragmenty wyszukiwania ?>
 <?php wyciąg_(); ?>
 <?php else : ?>
 <?php the_content( __( 'Kontynuuj czytanie →', 'Strefa cyklu' ) ); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'Przejdź do strefy'), 'after' => '
 ' ) ); ?>
 <?php endif; ?> <?php /** * Domyślny szablon do wyświetlania treści. Używany zarówno do pojedynczego wyszukiwania, jak i indeksowania/archiwizowania/wyszukiwania. * * @package WordPress * @subpackage Twenty_Twelve * @since Twenty Twelve 1.0 */ ?> <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php $kategoria = pobierz_kategorię(); ?> <?php if ( !is_category() && !is_archive() ) : ?>
<?php echo $category[0]->cat_name;?>
 <?php endif; // is_single() ?> <?php if ( is_sticky() && is_home() && ! is_paged() ) : ?>
 <?php _e( 'Polecany post', 'dwadzieścia dwanaście ' ); ?>
 <?php endif; ?>  <?php the_post_thumbnail(); ?> <?php if ( is_single() ) : ?>
<?php the_title(); ?>
 <?php else : ?>
 <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink do %s', 'dwadzieścia dwanaście' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="zakładka"><?php the_title(); ?>
 <?php endif; // is_single() ?> <?php echo get_the_date(); ?> <?php if ( comments_open() ) : ?>
 <?php comments_popup_link( '' . __( 'Opuść odpowiedź', 'dwadzieścia dwanaście' . '', __( '1 odpowiedź', 'dwadzieścia dwanaście' ), __( '% odpowiedzi', 'dwadzieścia dwanaście') ); ?>
 <?php endif; // comments_open() ?>  <?php if ( is_search() ) : // Wyświetlaj tylko fragmenty wyszukiwania ?>
 <?php wyciąg_(); ?>
 <?php else : ?>
 <?php the_content( __( 'Kontynuuj czytanie →', 'dwadzieścia dwanaście' ) ); ?> <?php wp_link_pages( array( 'before' => '
' . __( 'Strony:', 'twentytwelve' ), 'after' => '
' ) ); ?>
 <?php endif; ?> <?php /*  <?php dwadzieściatwelve_entry_meta(); ?> <?php edit_post_link( __( 'Edytuj', 'dwadzieścia dwanaście' ), '', '' ); ?> <?php if ( is_singular() && get_the_author_meta( 'opis' ) && is_multi_author() ) : // Jeśli użytkownik wypełnił swój opis i jest to blog z wieloma autorami, pokaż biografię na jego wpisach. ?>

 <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'dwudziestudwunastu_autorów_bio_avatar_size', 68 ) ); ?>

<?php printf( __( 'O %s', 'dwadzieścia dwanaście' ), get_the_author( ) ); ?>

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

 <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="autor"> <?php printf( __( 'Wyświetl wszystkie posty %s →', 'dwadzieścia dwanaście' ), get_the_author() ); ?>

 */ ?>
 Zrobiłem tę pastę, teraz myślę, że jest, bo jest napisane dwadzieścia dwanaście w treść, a nie nazwa motywu, nie przeciąga się. Możesz wyjaśnić?


title: Jak wyświetlić typ pliku polecanego obrazu?

text: Jak wyświetlić typ pliku polecanego obrazu w poście na single.php? Na przykład: Polecany typ obrazu to: ".jpg" Mogę uzyskać typ MIME, np. "image/jpeg". Może to być również sprawdzenie najpierw typu MIME obrazu, na przykład jeśli typ MIME obrazu to "image/jpeg", a następnie echo ".jpg", jeśli jest to "image/gif" echo ".gif".


title: Tagi nie działają z niestandardowym typem posta

text: Właśnie stworzyłem niestandardowy typ posta. Jak wyświetlić tag w mojej witrynie tak samo, jak typ postu Post? Próbuję tej funkcji, ale nie działa :- <?php the_tags(' ', ', ', ' '); ?> W panelu widzę tagi, ale w mojej witrynie się nie wyświetlają. Edytuj :- mój kod typu postu :- register_post_type( 'interviewdoctor', array( 'labels' => array ( 'name' => 'InterView', 'singular_name' => 'InterView', 'add_new' => 'Dodaj InterView', 'add_new_item' => 'Dodaj InterView', 'edit' => 'Edytuj InterView', 'edit_item' => 'Edytuj InterView', 'new_item' => 'Dodaj InterView', 'view' => 'Edytuj InterView', 'view_item' => 'Pokaż InterView', 'search_items' => 'Szukaj', 'not_found' => 'Nie znaleziono', ), '_builtin' => false, 'taxonomies' => array('interviewdoctor ', 'post_tag'), 'public' => prawda, 'show_ui' => prawda, 'show_in_nav_menus' => prawda, 'menu_position' => 5 , 'hierarchical' => prawda, 'has_archive' => prawda, 'capability_type' => 'strona', 'menu_icon' => 'https:/ /cdn1.iconfinder.com/data/icons/free-game-icons/32/Doctor.png', 'rewrite' => array( 'slug' => 'interviewdoctor', 'with_front' => false, 'pages' => true ), 'supports' => array( 'title', 'thumbnail', 'editor', 'date', 'excerpt', 'comments', 'custom-fields', 'tags')) ); } add_action('init', 'interviewdoctor');


title: Dodawanie identyfikatora do aukcji, ale nie wewnątrz WP_Query, gdy

text:
<?php $args = array( 'post_type' => 'bedrijf', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC' ); $zapytanie = nowe WP_Query( $args ); if ( $query->have_posts()) : while ( $query->have_posts()) : $query->the_post(); $tytuł = pobierz_tytuł(); $początek = substr(strtoupper($tytuł), 0,1); ?> <li id="list" data-filter="<?php foreach ($terms jako $term){ echo $term->term_taxonomy_id; } ?>" data-letter="<?php echo $beginletter; ? >"><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
 GŁÓWNA EDYCJA: Więc naprawiłem kilka problemów i mam nowy problem, co się teraz dzieje, to pokazuje ten sam identyfikator, co z tego samego wyniku we WSZYSTKICH typach postów. Wiem, że to z powodu chwili, ale nie wiem, jak umieścić filtr danych wewnątrz li, ale poza tym? A może jakieś inne rozwiązanie tego problemu?


title: Dlaczego moja reguła przepisywania odświeża stronę i usuwa moje zmienne?

text: Z jakiegoś powodu reguła przepisywania stron typu catch-all przechwytuje to przepisywanie, a nie moja własna reguła przepisywania. Moja reguła przepisywania jest wymieniona na górze, gdy robię var_dump reguł, a także gdy patrzysz na nią we wtyczce `Rewrite Rules Inspector`. function wp90210_add_duplicate_iquote_rewrite_rule( $rules ) { $rule = array('portal/quote-request/([0-9]{1,2})/([0-9]{1,8})/?$' => 'index.php?pagename=quote-request&form_id=$matches[1]&lead_id=$matches[2]'); $zasady = $zasada + $zasady; zwróć $zasady; } add_action('rewrite_rules_array', 'wp90210_add_duplicate_iquote_rewrite_rule'); funkcja wp90210_add_duplicate_query_vars( $query_vars ) { $query_vars[] = 'form_id'; $query_vars[] = 'lead_id'; zwróć $query_vars; } add_filter('query_vars', 'wp90210_add_duplicate_query_vars'); Kiedy wchodzę na: `http://local.testing.com/portal/quote-request/5/1234/` zamiast tego wysyła mnie do `http://local.testing.com/portal/quote-request/` , usuwając zmienne z adresu URL. Ciągle kręcę się w kółko na tym. Co ja tu robię źle!? **AKTUALIZACJA** Myślę, że dokądś zmierzam... w końcu. Wygląda na to, że nie podoba mi się fakt, że strona, na którą chcę przejść, ma stronę nadrzędną. Jeśli usunę ustawienie strony nadrzędnej ze strony zapytania ofertowego, zadziała, zachowując zmienne w adresie URL.


title: Pisanie wtyczki wordpress i próba dołączenia pakietu Facebook PHP SDK

text: Piszę wtyczkę do Wordpressa, która wymagała pakietu SDK Facebook PHP. Natknąłem się na coś, co myślę, że jest częstym problemem, sądząc po liczbie wyników, które znalazłem sprzed ponad roku. Niestety nie udało mi się znaleźć rozwiązania. Używam Wordpress 3.8 i Facebook PHP SDK Master zaczerpnięty z github, więc powinna to być najnowsza wersja. Uruchomiłem ten sam kod poza Wordpressem i pomyślnie działał bez błędów. Wrzucam więc wtyczkę i ją aktywuję. Przechodzę do utworzonego przeze mnie panelu, który prosi o podanie identyfikatora aplikacji i klucza tajnego, a także nazwy użytkownika konta na Facebooku. Wszystko, co zrobi wtyczka, to pobranie kanału nazwy użytkownika me. Tak więc, gdy próbuję uruchomić podstawową funkcję, która ładuje kanał, otrzymuję następujące błędy: > Ostrzeżenie: session_start() [function.session-start]: Nie można wysłać sesji > cookie - nagłówki już wysłane przez (wyjście rozpoczęło się w {ścieżce }/wp- > admin/includes/template.php:1698) w {ścieżka}/wp- > content/plugins/{mypluginname}/facebook-php-sdk/src/facebook.php w wierszu 48 > > Ostrzeżenie: session_start () [function.session-start]: Nie można wysłać pamięci podręcznej sesji > limiter - nagłówki już wysłane (wyjście rozpoczęte w {ścieżka}/wp- > admin/includes/template.php:1698) w {ścieżka}/wp- > treść /plugins/{mypluginname}/facebook-php-sdk/src/facebook.php on line 48 **Czego próbowałem** Tak więc przeczytałem w kilku różnych postach, że powinienem używać ob_start() i ob_end_flush () funkcje php i to rozwiąże problem. Jak rozumiem problem, który mam, wysyłam rzeczy do nagłówka, w którym nie powinienem, ponieważ nagłówek został już wysłany. Próbowałem ob_start / ob_end_flush na górze i na dole mojej wtyczki i nie zmieniło się to. Próbowałem pobrać wtyczkę Facebook wordpress i użyć zmodyfikowanego pakietu Facebook PHP SDK, którego używa ta wtyczka, i który pozbył się tych błędów, ale stworzył nowy błąd. > Błąd krytyczny: Dostęp do niezadeklarowanej właściwości statycznej: > WP_BaseFacebook::$CURL_OPTS w {path}/wp- > content/plugins/{pluginname}/facebook-php-sdk/src/base_facebook.php on-line > 932 Więc ja przeczytaj, że dzieje się tak, ponieważ CURL nie jest włączony. Sprawdziłem moją stronę PHP INFO i CURL jest włączony. Używam żądań curl w innej wtyczce. Widzę pewne rzeczy pod funkcjami CURL, które nie są włączone. Czy ktoś wie, którą opcję muszę włączyć, aby ta zmodyfikowana wersja pakietu Facebook PHP SDK działała z moją wtyczką? Czy ktoś wie, jak naprawić błędy, które otrzymuję ze standardowego Facebook PHP SDK LUB czy ktoś wie, jak naprawić błędy, które otrzymuję ze zmodyfikowanego Facebook PHP SDK? Z góry dziękuję. Mam nadzieję, że uda mi się rozwiązać oba problemy, a potem w końcu położę ten problem na bok. Ten sam problem nęka nas od 2011 roku. Aby podać więcej szczegółów, oto fragment kodu, który mam we wtyczce. require_once('facebook-php-sdk/src/facebook.php'); globalny $facebook; // przeczytaj, że muszę dodać tę linię do mojego skryptu; to nie pomogło. // Utwórz naszą instancję aplikacji (zastąp ją swoim identyfikatorem aplikacji i kluczem tajnym). $fb_config = array( 'appId' => $ijFaceFeedAppID, 'secret' => $ijFaceFeedSecretKey, 'fileUpload' => false, 'allowSignedRequest' => false ); // pobierz kanał $facebook = nowy WP_Facebook($fb_config); // używam zmodyfikowanego sdk Facebooka $page_feed = $facebook->api( '/'.$ijFaceFeedUser.'/feed', 'GET' );


title: Wyświetlanie popularnych postów

text: Chciałem napisać zapytanie do wyświetlenia, 3-4 najpopularniejszych popularnych postów, na moim pasku bocznym z małym obrazem rozmiaru miniatury posta. Próbowałem spojrzeć na widżet archiwum, ale wyświetlał tylko linki. (pomyślałem, że mógłbym skopiować stamtąd kod), jak uzyskać pożądany rezultat?


title: Dodawanie filtra do wtyczki logowania na pasku bocznym w celu zmiany etykiety przycisku logowania

text: Jestem nowicjuszem i nie udało mi się znaleźć odpowiedzi na moje pytanie. Zainstalowałem wtyczkę Sidebar Login i próbuję zmienić etykiety formularzy, w szczególności etykietę przycisku logowania. Rozumiem, że muszę dodać filtr do mojego pliku functions.php w motywie potomnym, aby zmodyfikować następujący fragment kodu: $login_form_args = apply_filters( 'sidebar_login_widget_form_args', array( 'echo' => true, 'redirect' => esc_url( apply_filters( 'sidebar_login_widget_login_redirect', $redirect ) ), 'label_username' => __( 'Nazwa użytkownika', 'sidebar_login' ), 'label_password' => __( 'Hasło', 'sidebar_label_re'), => __( 'Zapamiętaj mnie', 'sidebar_login' ), 'label_log_in' => __( 'Zaloguj →', 'sidebar_login' ), 'remember' => true, 'value_remember' => true ) ); wp_login_form ($login_form_args ); Filtr do zmiany dowolnej z tablic to: sidebar_login_widget_form_args Spędziłem cały dzień próbując wymyślić, jak poprawnie zakodować filtr, bez powodzenia. Byłbym bardzo wdzięczny za czyjąś pomoc.


title: Przekierowanie 301 nie działa przez .htaccess

text: Znalazłem tę małą sztuczkę http://css-tricks.com/snippets/htaccess/301-redirects/, aby przekierować moją starą domenę Wordpress do mojej nowej domeny z dołączoną ścieżką. Przeprowadzam test na mojej lokalnej kopii i wszystko działa dobrze. Kiedy loguję się do cpanelu starej domeny i próbuję, daje mi to złe wyniki. Oto kod, którego użyłem zarówno do kopii lokalnej, jak i na żywo ... # 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 Redirect 301/ http://newsite.com/ Oto jak wyglądają wyniki http://www.cuponsmercado.com.br/lojas/. Wygląda na to, że wywołuje nową domenę (w oparciu o stan przeglądarki Google Chrome w lewym dolnym rogu), ale pokazuje tylko starą domenę z uszkodzonym kodem HTML/CSS. Jakieś pomysły?


title: Zarejestruj CPT za pomocą Dashicons dla ikony menu administratora w WP 3.8

text: WordPress 3.8 wprowadził w rdzeniu wtyczkę MP6, która między innymi wykorzystuje kultową czcionkę o nazwie Dashicons do wyświetlania czcionek na pulpicie nawigacyjnym. Teraz dobrze wiadomo, że register_post_type ma argument `'menu_icon'`, który pozwala określić niestandardową ikonę dla wpisu w menu administratora CPT. W moich wtyczkach/motywach często używam tego argumentu z moimi niestandardowymi obrazami ikon, które normalnie są ciemne, ponieważ przed 3.8 menu administratora miało jasne tło. Przy domyślnym ciemnym tle menu w WP 3.8 moje ikony stają się prawie niewidoczne. Poza tym myślę, że używanie nowych dashiconów dla mojego CPT będzie fajne. Po kilku badaniach wiem, że mogę po prostu użyć CSS z dashicons, coś takiego jak #menu-posts-mycpt div.wp-menu-image:before { content: "\f226"; } Jednak użycie argumentu `'menu_icon'` `register_post_type` **i** poprzedniego css spowoduje wydrukowanie obu ikon w WP 3.8 i jednej ikony + dziwnego znaku w WP 3.8- i bez użycia argumentu `'menu_icon'`, w starszych wersjach używana jest domyślna ikona. Wiem, że mogę warunkowo dodać `'menu_icon'` w `register_post_type` dla wersji WP 3.8- i warunkowo dodać poprzedni css dla WP 3.8+, ale: * wiąże się to z dodaniem kodu (2 instrukcje warunkowe) dla **każdego** Zarejestrowano CPT, więc aktualizacja wtyczek/motywów to dość ciężka praca * wydaje mi się bardziej obejściem niż eleganckim rozwiązaniem Pytania brzmią więc: Czy można użyć dashicons css dla WP 3.8+ i użyć niestandardowego ustawienia obrazu za pomocą `'menu_icon '` param dla poprzednich wersji w "prostszy" sposób, który nie wymaga dodania 2 warunkowych dla każdego zarejestrowanego CPT? A jeśli tak, to czy można to zrobić w jakiś _automagiczny_ sposób prosto z `register_post_type` bez dodatkowego kodu?


title: Przegląd z najnowszymi edytowanymi postami i stronami

text: Szukam przeglądu wszystkich najnowszych działań użytkowników. Ale nie chcę widzieć komentarzy na tej stronie, tylko edycje lub tworzenie nowych postów lub stron. Niestety nie mogę znaleźć takiej strony na naszej instalacji. Czy możesz mi pomóc?


title: Czy istnieje limit rozmiaru obrazu dla wordpress xml-rpc?

text: Tworzę wtyczkę używając xml-rpc do wysyłania obrazów, jestem w stanie wysyłać małe obrazy. to mniej niż 1 mb, ale nie mogę wysłać większych zdjęć. nie zostaną przesłane za pomocą wp.uploadFile. Myślałem, że może to ograniczenie serwera lub limit czasu serwera, ale nie. maksymalne przesyłanie to 50mbs, a limit czasu ustawiłem na 15 minut tylko po to, aby spróbować. Czy jest jakieś ograniczenie?


title: Kolejność DESC nie działa przy wyświetlaniu tylko kategorii podrzędnych

text: Używam tego kodu poniżej, aby wydrukować wszystkie kategorie moich dzieci z ich nazwą nadrzędną, ale działa to tylko z kolejnością `ASC`, jeśli zmienię kolejność `DESC`, pokazuje pusty wynik. Czy mogę coś zrobić, aby to cofnąć? <? $_koty = tablica(); $args = array( 'orderby' => 'id', 'order' => 'ASC', 'taksonomia' => 'album' ); $kategorie = get_categories($args); if (!empty($categories)) { foreach ($kategorie jako $kategoria) { if ($kategoria->rodzic != 0) { if (!isset($_cats[$kategoria->rodzic])) { $_cats [$category->parent] = array( 'terms' => array() ); } $_koty[$kategoria->rodzic]['warunki'][] = $kategoria; } else { if (!isset($_cats[$category->term_id])) $_cats[$category->term_id] = array(); $_cats[$category->term_id]['parent_name'] = $category->name; $_cats[$category->term_id]['terms'] = array(); } } } if (!empty($_cats)) { foreach ($_cats as $parentid => $children) { if (!empty($children['warunki'])) { foreach ($children['warunki'] as $term) { ?> --- <?php echo $children['nazwa_rodzica'] . '-'. $term->nazwa; ?> <? } } } } ?> Działającą wersję można zobaczyć na http://lyricssoup.com/. Każda pomoc jest mile widziana!


title: Wyodrębnij adres URL z next_image_link

text: Czy istnieje sposób na wyodrębnienie adresu URL z linku next_image_link? Chcę, aby obrazek na stronie załącznika łączył się z następnym obrazem, ale nie udało mi się wymyślić, jak to zrobić.


title: nie mogę zobaczyć aktualnej wersji style.css - czy jest to buforowanie serwera WWW?

text: Moja witryna się ładuje style.css?ver=1.0 `style.css?ver=1.0` miał inną zawartość niż style.css, nawet po twardym odświeżeniu `style.css?ver=1.0` Usunięcie pamięci podręcznej przeglądarki nie spowodowało naprawić problem. Ładowanie `style.css?ver=1.0` w innej przeglądarce się udało. Wracając do pierwszej przeglądarki pokazałem, że `style.css?ver=1.0` teraz pasuje do `style.css`. Oto problem: jeszcze raz zaktualizowałem `style.css` i przesłałem go. Jeśli załaduję ten plik w przeglądarce, pokaże starą wersję. Jeśli zrobię twarde odświeżenie, pokaże starą wersję. Jeśli wyczyszczę pamięć podręczną przeglądarki, pokaże starą wersję. Jeśli ładuję style.css w innej przeglądarce, wyświetla starą wersję. Jeśli wyczyszczę pamięć podręczną tej innej przeglądarki, pokaże starą wersję. W FileZilla, jeśli przeglądam/edytuję zdalny style.css, pokazuje on zmiany, które nie pojawią się w przeglądarce. Jeśli odczekam 5 minut, widzę w przeglądarce nową wersję style.css. Czy jest to spowodowane buforowaniem serwera WWW?


title: Zdalne przesyłanie pliku do serwera B

text: Zdaję sobie sprawę, że może to być jeden z najtrudniejszych sposobów kodowania w historii, ale pomyślałem, żeby spróbować. Zasadniczo próbuję wykryć wszystkie typy plików (mp3) przesłane przez media Wordpress i wysłać je poza witrynę, dzięki czemu zostaną przesłane na inny serwer (połączenie FTP). Poniżej znajduje się kod, który zacząłem po godzinach badań i myślę, że utknąłem, szczerze mówiąc, nawet nie wiem, czy jestem w dobrym momencie. Mam nadzieję, że ktoś, kto ma dużo więcej wiedzy na temat Wordpress/PHP, pomoże mi zarchiwizować to, co próbuję zrobić. Robię to, aby uratować główny serwer przed przeciążeniem dużymi rozmiarami plików i ograniczyć go do obrazów. Chciałbym, aby struktura przesłana na serwer B była następująca: serverB.com/music/Year/month/file.mp3 Rok i miesiąc powinny dziedziczyć z Wordpress post date ('Y/m'); Po przesłaniu link, który pojawia się w wordpressie, powinien być adresem URL serwera serverB.com do pliku. Dziękuję Ci. Poniżej znajduje się kod, który zacząłem: <?php /* * Zmień katalog/serwer przesyłania dla plików mp3 * Działa tylko w WordPress 3.3+ */ add_filter('wp_handle_upload_prefilter', 'music_pre_upload'); add_filter('wp_handle_upload', 'music_post_upload'); function music_pre_upload($file){ add_filter('upload_dir', 'music_remote_upload_dir'); return $plik; } function music_post_upload($fileinfo){ remove_filter('upload_dir', 'music_remote_upload_dir'); return $informacje o pliku; } function music_remote_upload_dir($ścieżka){ $rozszerzenie = substr(strrchr($_POST['nazwa'],'.'),1); if(!empty($ścieżka['błąd']) || $rozszerzenie != 'mp3') { return $ścieżka; } // jeśli inny typ pliku wyślij do domyślnego folderu przesyłania. /** * Zmień to, aby pasowało do Twojego serwera * Musisz tylko zmienić te z (*) * Jeśli jest oznaczony (-) jest to opcjonalne */ $post_date = '/' . data( 'R/m' ); $settings = array( 'host' => 'host lub IP', // * nazwa hosta serwera ftp 'user' => 'ftp-username', // * ftp-user 'pass' => 'ftp-pass ', // * ftp-password 'cdn' => 'external-server.com', // * To musi być domena lub subdomena wskazana do katalogu głównego przesyłanych plików 'path' => '/music', / / - ścieżka ftp, domyślnie root (/) Zmień tutaj i dodaj katalog na serwerze ftp 'date' => $post_date // Lokalna data postu ); /** * Połączenie z hostem * Przeczytaj o tym tutaj: http://php.net/manual/en/function.ftp-connect.php */ if(function_exists('ftp_ssl_connect')) { $connection = ftp_ssl_connect( $ ustawienia['host'] ); } else { $connection = ftp_connect( $settings['host'] ); } /** * Zaloguj się do ftp * Przeczytaj o tym tutaj: http://php.net/manual/en/function.ftp-login.php */ $login = ftp_login( $connection, $settings['user'] , $settings['pass'] ); /** * Sprawdź połączenie ftp */ if ( !$connection || !$login ) { die('Próba połączenia nie powiodła się, Sprawdź ustawienia'); } ftp_pasv($zasób, prawda); // Aby uniknąć sprostowania ostrzeżenia if( ftp_put( $connection, $settings['path'] . "/" . $settings['date'] . "/" . $file, FTP_BINARY )) ) { echo "pomyślnie załadowano $plik \n"; } else { echo "Wystąpił problem podczas przesyłania $pliku\n"; } // zamknięcie połączenia ftp_close($conn_id); } // Zakończ funkcję


title: Warunkowy JavaScript oparty na wersji WP

text: Jak mam przejść do tworzenia instrukcji warunkowej w PHP, aby załadować plik javascript zależny od aktywnej wersji instalacji WP? np. jeśli używasz Wordpress 3.8 załaduj plik javascript A, jeśli używasz Wordpress 3.9 załaduj plik javascript B.


title: Rozszerzenie klasy podstawowej we wtyczce

text: Cześć Piszę wtyczkę i chciałbym rozszerzyć klasę w folderze wp-includes. Mam na myśli, że dosłownie jak klasa moja_klasa rozszerza wp_includes_class_x{ ... } Jednak przy próbie tego otrzymuję błąd `class x not found`, ale wiem, że klasa jest używana przez Wordpress. Więc próbuję `include_once(ścieżka_do_klasy)` w moim pliku wtyczki, co daje mi błąd `Nie można ponownie zadeklarować klasy`. Czy powinienem wywoływać `include` w haczyku akcji specjalnej? Co ja robię źle? Dzięki EDIT Moja wtyczka jest OO, więc wywołuję `$my_plugin = new My_Plugin_Class();` w moim pliku wtyczki. Wewnątrz tej klasy głównej staram się utworzyć instancję klasy, która rozszerza klasę wp_includes, której nie chcę nazywać, aby mój projekt był niespodzianką $my_plugin = new My_Plugin_Class(); klasa My_Plugin_Class{ funkcja publiczna __construct(){ $wp_include_class_extension = new WP_Class_Extension(); } } class WP_Class_Extension extends Some_Core_Class{ public function __construct(){ //blah blah } } //PRZYCZYNY BŁĄD klasa Some_Core_Class nie znaleziono EDIT Znaleziono rozwiązanie - zobacz komentarze poniżej - dzięki za pomoc


title: Zmień rozmiar obrazu bez przycinania

text: Obecnie pracuję nad wtyczką WordPress, w ramach której użytkownicy mogą wgrywać obrazy. To, co chcę zrobić, to to, że te przesłane obrazy o dowolnym rozmiarze zostaną przeskalowane do 100 na 100 pikseli bez przycinania. Oto część kodu, w której odbywa się zmiana rozmiaru. Działa, ale nie bez przycinania. Mam nadzieję, że ktoś pomoże w uzyskaniu tej pracy bez przycinania obrazów. Najlepiej byłoby, gdyby było to możliwe tylko przy użyciu własnych funkcji WordPressa. $editor = wp_get_image_editor ($avatar_full_path ); if (! is_wp_error( $editor) ) { $resize = $editor->resize( 100, 100, true ); if (! is_wp_error( $zmieniony) ) { $plik_docelowy = $edytor->generuj_nazwapliku(); $zapisany = $edytor->zapisz( $plik_docelowy ); if ( ! is_wp_error( $saved ) ) $local_avatars[$size] = str_replace( $upload_path['basedir'], $upload_path['baseurl'], $dest_file ); } }


title: Dynamiczne generowanie referencji „<a name="">” za pomocą PHP

text:
Próbuję dynamicznie wygenerować odwołanie do linku `<a name="">` wewnątrz wtyczki Wordpress. Wtyczka wyświetli to odniesienie do linku w generowanych przez siebie postach. Kategorie postów, które generuje ta wtyczka, zawsze będą się zmieniać, więc kiedy tworzymy linki do tych postów z osobnej strony, nadal musimy być w stanie zidentyfikować każdy z nich z osobna. Moim najlepszym przypuszczeniem było odwołanie się do nich za pomocą jednej liczby (tj. 1, 2, 3, 4 itd.). Kod znajduje się poniżej .....proszę przeczytać dół tego posta przed sprawdzeniem kodu. <?php /* Nazwa wtyczki: Posty dla strony URI wtyczki wtyczki: http://www.mywebdeveloperblog.com/development/wordpress/posts-for-page-wordpress-plugin Opis: Ta wtyczka umożliwia przypisywanie postów do stron jako fragmenty lub pełne posty. Posty mogą być wybierane według ślimaka kategorii, identyfikatora kategorii, ślimaka tagu, identyfikatora pojedynczego wpisu, autora i sortowane według daty lub tytułu. Wersja: 1.5 Autor: Simon Hibbard URI autora: http://www.mywebdeveloperblog.com/ Licencja: GPL2 */ ?> <?php //powiedz wordpressowi, aby zarejestrował krótki kod potomny add_shortcode("posts-for-page", "sc_posts_for_page"); function remove_images( $content ) { $postOutput = preg_replace('/]+./','', $content); return $postOutput; } //children fragment shortcode worker function function sc_posts_for_page($atts, $content = null){ if($atts['length'] > 0 ){ }else{ $atts['length'] = 50; } //echo $atts['read_more']; if($atts['read_more'] != "" ){ $_opts['readMoreText'] = $atts['read_more']; }else{ $_opts['readMoreText'] = "Czytaj więcej »"; } if($atts['prev_text'] != "" ){ $_opts['prevText'] = $atts['prev_text']; }else{ $_opts['prevText'] = "« Nowsze wpisy"; } if($atts['next_text'] != "" ){ $_opts['nextText'] = $atts['next_text']; }else{ $_opts['nextText'] = "Starsze wpisy » "; } // ustaw wartości z shortcode $_opts['cat_slug'] = $atts['cat_slug']; $_opts['kot'] = $atts['kot']; $_opts['tag_slug'] = $atts['tag_slug']; $_opts['order_by'] = $atts['order_by']; $_opts['post_id'] = $atts['post_id']; $_opts['autor'] = $atts['autor']; $_opts['num'] = $atts['num']; $_opts['showFullPost'] = $atts['show_full_posts']; // obsługuj stronicowanie, jeśli ustawiono limit postów //if($_opts['num'] != "") //{ // $thispage = get_permalink(); // $_opts['page_num'] = get_query_var('strona'); // if($_opts['page_num'] != "") // { // $prev = $_opts['page_num'] - 1; // $następny = $_opts['numer_strony'] + 1; // if($prev == 0) // { // $prevLink = "Poprzednia"; // } // else // { // $prevLink = "Poprzedni"; // } // $nextLink = "Dalej"; // } // else // { // $prevLink = ""; // $nextLink = "Dalej "; // } //} globalna $paged; if (empty($paged)) { $_opts['cur_page'] = 1; } else { $_opts['cur_page'] = $paged; } // obecnie nie działają - wp potrzebuje już zapisanego obrazu w rozmiarze, na razie używamy tylko miniaturek wp //$_opts['imageH'] = $atts['thumb_h']; //$_opts['imageW' ] = $atts['thumb_w']; $_opts['hide_images'] = $atts['hide_images']; //pobierz identyfikator bieżącego artykułu, który wywołuje krótki kod $parent_id = get_the_ID(); $output = ""; $i = 0; $dzieci = pfp_get_posts($_opts); if (is_array($dzieci)) { if(count($dzieci) <= 0){ $out = "Toems for Page: nie ma postów spełniających kryteria wyboru."; return $out; } foreach( $children as $child ) { $title = $child->post_title; $link = get_permalink($child ->ID); if($_opts['showFullPost'] == "true") { $output .= "
"; $output .= "
$title
"; $output .= $child->post_content; $output .= "

"; //$output .= "
"; $output .= "
"; } else { // usuń wszystkie obrazy z postu $child->post_content = remove_images($child-> post_content); $args = array( 'numberposts' => 1, 'order'=> 'ASC', 'post_mime_type' => 'image','post_parent' => $child->ID , 'post_status' => null, 'post_type' => 'załącznik' ); if($_opts['hide_images'] == 'prawda') { $imageSrc = ''; } else { //pobierz pierwszy obraz i zmień jego rozmiar $attachments = get_children( $args ); //echo "tutaj" .$_opts['imageH']; if ($attachments) { foreach($attachments as $attachment) { //if(($_opts['imageH'] > 0) && ($_opts['imageW'] > 0)){ // // pobierz rozmiar na podstawie parametrów // $size = array($_opts['imageW'], $_opts['imageH']); // echo "Tutaj" . $rozmiar[0]; // $imageSrc = 'ID, $rozmiar).'" />';//}else{ $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail') ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail'): wp_get_attachment_image_src($attachment->ID, 'full'); $imageSrc = 'ID ).'" />'; //} } } else { $imageSrc = ''; } } //podziel fragment na tablicę w celu przetworzenia $words = explode(' ', strip_tags($child->post_content)); //odetnij fragment na podstawie atts->lenth $words = array_slice($words, 0, $atts['length']); //scal tablicę słów fragmentu z powrotem w zdania $child_excerpt = $imageSrc . implodować('', $słowa); $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "
"; //oryginalny kod wyświetlania wtyczki zaczyna się tutaj $output .= "
"; $output .= "
<a name='<?php echo $i++; ?>' style='kolor:#4a79a4; rodzina czcionek:komiks; font-size:1em' href='$link'>$title
"; $output .= $child_excerpt "..."; $output .= "" . $_opts['readMoreText'] . ""; $output .= "

"; //$output .= "
"; $output .= "
"; //oryginalny kod wyświetlania wtyczki $output .= "

"; $output .= ""; $output .= "
"; $output .= "
"; $wyjście .= "
"; $wyjście .= "
"; $wyjście .= "
"; $wyjście .= "
" ; $output .= "
"; $output .= "
"; $output .= "
"; $output .= "

"; } } } // linki wyjściowe //if($_opts['num'] != "") //{ //echo $wp_query->found_posts; // $output .= $prevLink; / / if($wp_query->found_posts > ($_opts['num'] * $_opts['page_num'])) // { // $output .= $nextLink; // } //} globalne $wp_query; $ page_links_total = $wp_query->max_num_pages; //echo "currentpage:" . $_opts['cur_page']; //echo "totalpages:" . $page_links_total; if($_opts['cur_page'] > 1) { // show prev //previous_posts_link($_opts['prevText']); $output .= "" . get_previous_posts_link($_opts['prevText']) . ""; } jeśli ($_opts['cur_page'] < $page_links_total) { // pokaż następny //next_posts_link($_opts['nextText']); $output .= "" . get_next_posts_link($_opts[ 'nextText']). ""; } wp_reset_query(); return $output; }funkcja pfp_get_posts($pfp_opts) { $params = array(); if ($pfp_opts['post_id'] == '') { // dla multipostów if ($pfp_opts['tag_slug'] != ''){ $params['tag_slug__in'] = explode(",", $pfp_opts ['tag_slug']); } if ($pfp_opts['cat'] != ''){ $params['category__in'] = explode(",", $pfp_opts['cat']); } if ($pfp_opts['cat_slug'] != '') { $params['category_name'] = $pfp_opts['cat_slug']; } if($pfp_opts['autor'] != '') { $params['autor'] = $pfp_opts['autor']; } if($pfp_opts['order_by'] != '') { $params['order_by'] = $pfp_opts['order_by']; } if($pfp_opts['num'] != '') { //$params['numberposts'] = $pfp_opts['num']; $params['posts_per_page'] = $pfp_opts['num']; $params['paged'] = $pfp_opts['cur_page']; //if($pfp_opts['page_num'] != '') { // wypracowanie przesunięcia zależnegoing na numer strony //$offset = $pfp_opts['numer_strony'] * $pfp_opts['num']; //$parametry['przesunięcie'] = $przesunięcie; //} } else { $params['posts_per_page'] = -1; // pobiera je wszystkie } // zastosuj niezależnie od przypadku: $params['suppress_filters'] = false; // pobierz posty //$postslist = get_posts($params); $postslist = query_posts($params); }else{ // dla pojedynczych postów $postslist[0] = wp_get_single_post($pfp_opts['post_id']); } return $postslist; } //add_action('admin_menu', 'moje_menu_wtyczek'); //function my_plugin_menu() { //add_options_page('Wpisy dotyczące opcji wtyczki strony', 'Wpisy dotyczące wtyczki strony', 'manage_options', 'pfp-unique-identifier', 'my_plugin_options'); //} function my_plugin_options() { if (!current_user_can('manage_options')) { wp_die( __('Nie masz wystarczających uprawnień dowejść na tę stronę.') ); } echo '
'; echo '
Jak używać: Na swojej stronie (widok HTML) dodaj krótki kod, np. [posts-in-page cat_slug=\'asp-net-programming-2\']

Zostaną wyświetlone wszystkie posty z kategorią slug \'asp-net-programming-2\'
 '; echo '
post_id - Pobiera posty według identyfikatora, tag_slug - pobiera posty według tagu slug, cat - pobiera posty z identyfikatorem kategorii, cat_slug - pobiera posty z tej kategorii slug, autor - pobiera posty według autora, order_by - data lub title, num - liczba postów do pokazania
'; echo '
'; } add_action('wp_head', 'get_pfp_css'); function get_pfp_css() { echo '<link type="text/css" rel="stylesheet" href="' .get_bloginfo('wpurl') '/wp-content/plugins/posts-for-page/pfp.css " />" . "\n"; } ?> Poniżej znajduje się dokładna linia wyjścia, którą próbuję zmodyfikować w powyższym kodzie (w powyższym kodzie, około 2/3 w dół strony). Zauważ, że próbowałem użyć „przyrostu” w celu dodania pewnego rodzaju identyfikatora do ton `<a name="">` referencja. Nie obchodzi mnie, jaka jest nazwa identyfikatora, ale potrzebuję jej automatycznego wygenerowania, aby móc odnieść się do niej w linku z innej strony. $output .= "
<a name='<?php echo $i++; ?>' style='kolor:#4a79a4; rodzina-czcionek:komiks; rozmiar-czcionki:1em' href='$link'>$tytuł
";


title: Wordpress ulega awarii, gdy klikam dodaj nową wtyczkę

text: Niedawno odinstalowałem wtyczkę. -list-table.php): nie udało się otworzyć strumienia: Brak takiego pliku lub > katalogu w D:\Dropbox\htdocs\bcu\wp-admin\includes\list-table.php w wierszu > 42 > > Błąd krytyczny: require_once (): Nieudane otwarcie wymagane > 'D:\Dropbox\htdocs\bcu/wp-admin/includes/class-wp-plugin-install-list-> table.php' (include_path='D:\Dropbox\htdocs\bcu \wp-content\plugins\google-> analyticator\google-api-php-client\src;.;D:\xampp\php\PEAR') w > D:\Dropbox\htdocs\bcu\wp-admin\includes \list-table.php w wierszu 42 Szukałem tego błędu w google i na tej stronie, chociaż nie mogę znaleźć nikogo innego z tym błędem? Czy ktoś może zasugerować, jak mogę przez to przejść?


title: ajax wysyła dane do wtyczki

text: Próbuję wysłać dane za pośrednictwem jquery ajax do mojej klasy wtyczek, aby zaktualizować plik w tabeli i otrzymuję następujący błąd Błąd krytyczny: Wywołanie funkcji członkowskiej query() moja klasa wygląda jak class MyClass{ function __construct( ){ globalny $wpdb; $to->db = $wpdb; //dodaj_filtr('zmienne_zapytań', 'zmienne_zapytań_parametrów' ); } //Zapisz funkcję publiczną danych ajax save_tips($token, $tips){ $this->db->query( $this->db->prepare( "UPDATE wp_competitors SET results= %s, update_time= %d", $tips ,$cur_date = date('Y-m-d H:i:s'), "WHERE token = $token ") // $wpdb->prepare ); } } } kiedy wysyłam dane za pomocą ajax, plik wejściowy jest moim głównym plikiem wtyczki i uruchamiam następujący kod if ($_POST['results']){ $token = '393a9276ae329e00b3739d2e76e52f3b'; $tips = json_encode($_POST['wyniki']); $save = nowy Tipspiel(); $save->save_tips($token, $tips); powrót „OK”; } wygląda na to, że wszystkie funkcje wordpress są ignorowane, aktualizując kody po informacji zwrotnej od @toscho Dodałem następujące w moim javascript $j("form#tiepspiel").submit(function(e) { e.preventDefault();/ / powoduje to wyłączenie przycisku przesyłania, dzięki czemu użytkownik pozostaje na stronie var str = $j(this).serialize(); //alert(decodeURIComponent(str)); if ($j('ul#sortables li').size () > 10){ $j( "#dialog-modal" ).dialog({ height: 140, modal: true }); return; } var data = { action: 'TIPPS', tips: str, _ajax_nonce: " <?php echo wp_create_nonce( 'my_ajax_nonce' ); ?>" }; $j.post(ajaxurl, data, function(response) { alert('Pobrano to z serwera: ' + odpowiedź); //$j .cookie("tipspiel", "konkurent", { wygasa: 1 }); $j('form#tiepspiel').fadeOut('slow', function() { // Animacja zakończona. }); }); }); i dodanie tego w moim pliku wejściowym wtyczek add_action('wp_ajax_nopriv_TIPPS', 'tipps_processing_function'); funkcja tipps_processing_function(){ check_ajax_referer('my_ajax_nonce'); if ($_POST['wyniki']){ $token = '393a9276ae329e00b3739d2e76e52f3b'; $tips = json_encode($_POST['wyniki']); $save = nowy Tipspiel(); $save->save_tips($token, $tips); powrót „OK”; } //zrób coś tutaj } nie jest jasne, jak przekazać otrzymane zmienne do mojej klasy


title: Dodaj niestandardowe rozmiary obrazów do programu do przesyłania multimediów

text: Chcę dodać niestandardowe rozmiary obrazów do programu do przesyłania multimediów: ![program do przesyłania multimediów](http://i.stack.imgur.com/y9LXW.png) W tym celu używam następującego kodu (komentarze wygoda): // ta funkcja dodaje niestandardowe rozmiary obrazów do funkcji przesyłania multimediów my_insert_custom_image_sizes( $sizes ) { // pobierz niestandardowe rozmiary obrazów global $_wp_additional_image_sizes; // jeśli nie ma, po prostu zwróć wbudowane rozmiary if ( empty( $_wp_additional_image_sizes )) return $sizes; // dodaj wszystkie niestandardowe rozmiary do wbudowanych rozmiarów foreach ( $_wp_additional_image_sizes as $id => $data ) { // weź identyfikator rozmiaru (np. 'my-name'), zastąp myślniki spacjami, // i zamień pierwszą literę każdego słowa na wielką if ( !isset($sizes[$id]) ) $sizes[$id] = UCfirst( str_replace( '-', ' ', $id ) ); } return $rozmiary; } // następnie zdefiniuj funkcję init, która ustawi wszystkie potrzebne rzeczy function custom_image_setup () { add_theme_support( 'post-miniaturki' ); add_image_size( 'mój-rozmiar1', 250, 250 ); add_image_size( 'mój-rozmiar2', 350, 350 ); add_image_size( 'mój-rozmiar3', 450, 450 ); add_filter( 'image_size_names_choose', 'my_insert_custom_image_sizes' ); } // dołącz tę funkcję inicjującą do haka 'after_setup_theme' // aby była uruchamiana przy każdym załadowaniu strony po załadowaniu motywu add_action( 'after_setup_theme', 'custom_image_setup' ); Ten kod działa dobrze. Poza jednym problemem: podczas przesyłania obrazu, jeśli jest on mniejszy niż wymiary najmniejszego niestandardowego rozmiaru obrazu, pojawia się ten błąd: „Dostarczono nieprawidłowy argument dla foreach()”. Przypuszczam, że problem pochodzi z funkcji `my_insert_custom_image_sizes`. Tak więc w zasadzie, gdy nie jest wykonany żaden niestandardowy obraz, pojawia się błąd. Jak mogę to naprawić? Mam wrażenie, że problem jest czymś prostym, co przeoczyłem, ale się pogubiłem... Jeśli chcesz powtórzyć ten błąd, po prostu wklej powyższy kod w funkcje i wgraj obrazek, który jest **mniejszy** niż 250x250 w pikselach . **AKTUALIZACJA** : Po dalszych badaniach okazało się, że błąd jest związany z foreach w mojej funkcji kompresji JPEG: // Ustaw jakość kompresji JPEG add_filter('jpeg_quality', create_function('$quality', 'return 100; ')); add_action('added_post_meta', 'ad_update_jpeg_quality', 10, 4); function ad_update_jpeg_quality($meta_id, $attach_id, $meta_key, $attach_meta) { if ($meta_key == '_wp_attachment_metadata') { $post = get_post($attach_id); if ($post->post_mime_type == 'image/jpeg') { $pathinfo = pathinfo($attach_meta['file']); $ przesłane = wp_upload_dir(); $katalog = $przesyłane['basedir'] . '/' . $pathinfo['dirname']; foreach ($attach_meta['sizes'] as $size => $value) { $image = $dir . '/' . $wartość['plik']; $resource = imagecreatefromjpeg($image); if ($size == 'large') { // ustaw jakość jpeg dla rozmiaru 'large' imagejpeg($resource, $image, 35); } elseif ($size == 'medium') { // ustaw jakość jpeg dla rozmiaru 'medium' imagejpeg($resource, $image, 35); } elseif ($size == 'small') { // ustaw jakość jpeg dla rozmiaru 'małego' imagejpeg($resource, $image, 40); } else { // ustawienie jakości jpeg dla pozostałych rozmiarów imagejpeg($resource, $image, 90); } imagedestroy($zasób); } } } } Jakieś pomysły, co z tym jest nie tak?


title: wtyczka do strumieniowego przesyłania dźwięku, ale bez opcji zapisu?

text: Muszę opublikować plik audio, który chcę udostępnić, aby * słuchać i * nie pobierać żadnego pomysłu, jak to zrobić? Czy jest do tego jakaś darmowa wtyczka WP? Coś, w czym użytkownik nie może zapisać dźwięku za pomocą jakiejkolwiek wtyczki przeglądarki internetowej, takiej jak DownloadHelper itp.


title: wyświetlać posty z określonej kategorii na stronie , w tematycznym motywie potomnym?

text:
mam szablon strony bloga , muszę sprawić by wyświetlał posty z określonej kategorii o nazwie news to jest szablon , używam motywu potomnego frameworka tematycznego <?php /** * Nazwa szablonu: Blog * * Ten szablon pozwala wyświetlić najnowsze posty na dowolnej stronie serwisu. * */ // wywołanie header.php get_header(); // zaczep akcji do umieszczania treści nad #container thematic_abovecontainer(); ?>
 <?php thematic_abovecontent(); ?>
 <?php $wp_query = nowe WP_Query(); $wp_query->query( array( 'posts_per_page' => get_option( 'posts_per_page' ), 'paged' => $paged ) ); $więcej = 0; ?> <?php // utwórz nawigację nad treścią thematic_navigation_above(); // wywołanie obszaru widżetu 'index-top' get_sidebar('index-top'); // zaczep akcji do umieszczania treści nad pętlą indeksu thematic_above_indexloop(); // akcja hook tworząca pętlę indeksu thematic_indexloop(); // zaczep akcji do umieszczania treści pod pętlą indeksu thematic_below_indexloop(); // wywołanie obszaru widżetu 'index-bottom' get_sidebar('index-bottom'); // utwórz nawigację pod treścią thematic_navigation_below(); ?>
 <?php thematic_belowcontent(); ?>
 <?php // akcja do umieszczenia zawartości poniżej #container thematic_belowcontainer(); // wywołanie standardowego paska bocznego /*thematic_sidebar();*/ // wywołanie footer.php get_footer(); ?>


title: Jak dodać niestandardową pozycję menu podczas aktywacji wtyczki?

text: Gdy moja wtyczka jest aktywna, chciałbym dodać nowy element menu. Oto mój kod: class My_Plugin { function __construct() { register_activation_hook(__FILE__, array($this, 'install')); } function install() { add_action('admin_menu', array($this, 'add_menu_item')); } funkcja publiczna add_menu_item() { add_menu_page(...); } } $my_plugin = new My_Plugin(); Niestety to nie działa. Zauważyłem, że wywoływana jest `install`, ale `add_menu_item` już nie. Jaki byłby właściwy sposób, aby to zrobić?


title: Edytor układu wizualnego w stylu „panele” typu „przeciągnij i upuść”?

text: Jestem połączeniem Drupala i programisty WordPressa, a ostatnio zacząłem bawić się modułem Panels Drupala — który pozwala tworzyć elastyczne układy i upuszczać bloki treści (odpowiednik widżetów Drupal) na układ lub zawartość podstawa przedmiotu. Pracuję teraz nad projektem WordPress, który naprawdę skorzystałby na tego rodzaju funkcjonalności — **czy istnieje edytor układu wizualnego dla WordPressa, który choć trochę przypomina panele?** Przez „edytor układu wizualnego” mam na myśli coś, co może mieć tekst i/lub widżety dodawane ad hoc do regionów utworzonych przez przeciąganie szerokości kolumn lub zaznaczanie poprzez kliknięcie i przeciągnięcie (podobne do Adobe InDesign). **Edytuj:** Minął rok, więc poniżej utworzyłem odpowiedź na wiki. Pierwotne pytanie zostało zaktualizowane, aby to odzwierciedlić.


title: Wysyłanie postów z frontendu z niestandardowym polem nie działa

text:
Pracuję nad przesyłaniem postów z fronted, który ma kilka niestandardowych pól. Użyłem API shortcode do wykorzystania formularza na dowolnej stronie/poście. Kod należy znaleźć poniżej. Ale po przesłaniu formularza nic się nie stało i formularz wraca. Potrzebuję twojej życzliwej pomocy. <?php //Funkcja API krótkiego kodu apl_video(){ global $current_user; get_currentuserinfo(); if (!isset($_POST['submit'])) { ?> <form name="new_post" method="post" action="">

 Tytuł filmu	<input id="post_title" tabindex="1" type="text" name="post_title"/>

Szerokość wideo	<input id="vid_wid" tabindex="2" type="text" name="vid_wid"/>

Wysokość wideo	<input id="vid_hei" tabindex ="3" type="text" name="vid_hei"/>

Autoodtwarzanie	 <select tabindex="4" name="vid_ply" id="vid_ply"> <option value="Tak">Tak</option> <option value="Nie">Nie</option> </select>

Skóra	<select tabindex="5" name="vid_ski" id="vid_ski"> <option value="player1">Gracz 1</opt ion> <option value="player2">Gracz 2</option> </select>

 Link do filmu YouTube	 <input id="vid_you" tabindex="6" type="text" name="vid_you"/>

 Łącze wideo MP4	 <input id="vid_mp4" tabindex="7" type="text" name="vid_mp4"/>

 Łącze wideo OGG	 <input id="vid_hei" tabindex="8" type="text" name="vid_ogg"/>

 Łącze wideo WEBM	 <input id="vid_hei" tabindex="9" type= "text" name="vid_web"/>

 Link do obrazu plakatu	 <input id= "vid_hei" tabindex = " 10" type="tekst" name="vid_pst"/>

  	 <?php wp_nonce_field( 'nowy-post' ); ?> <input type="submit" value="Generate" name="submit"/>

 </form> <?php } else { $title = esc_attr ($_POST['tytuł_postu']); $vid_wid = esc_attr($_POST['vid_wid']); $vid_hei = esc_attr($_POST['vid_hei']); $vid_ply = esc_attr($_POST['vid_ply']); $vid_ski = esc_attr($_POST['vid_ski']); $vid_you = esc_attr($_POST['vid_you']); $vid_mp4 = esc_attr($_POST['vid_mp4']); $vid_web = esc_attr($_POST['vid_web']); $vid_ogg = esc_attr($_POST['vid_ogg']); $vid_pst = esc_attr($_POST['vid_pst']); globalny $ID_użytkownika; $new_post = array( 'post_title' => $title, 'post_status' => 'publish', 'post_type' => 'video', 'post_date' => date('Y-m-d H:i:s'), 'post_author ' => $ID_użytkownika, ); //zapisz nowy post $pid = wp_insert_post($new_post); // Wykonaj akcję wp_insert_post, aby ją wstawić do_action('wp_insert_post', 'wp_insert_post'); add_post_meta($pid, 'vid_wid', $vid_pst, prawda); add_post_meta($pid, 'vid_hei', $vid_hei, prawda); add_post_meta($pid, 'vid_ply', $vid_ply, prawda); add_post_meta($pid, 'vid_ski', $vid_ski, prawda); add_post_meta($pid, 'vid_you', $vid_you, prawda); add_post_meta($pid, 'vid_ogg', $vid_ogg, prawda); add_post_meta($pid, 'vid_web', $vid_web, prawda); add_post_meta($pid, 'vid_mp4', $vid_mp4, prawda); add_post_meta($pid, 'vid_pst', $vid_pst, prawda); //Wynik echo 'Gotowe'; } } add_shortcode( 'wpvideogen', 'apl_video' );


title: Tagi br na backendzie nie wyświetlają się na frontendzie

text: Naprawdę szukałem tutaj rozwiązania tego problemu, ale nic nie mogłem znaleźć. **Problem:** tagi br i/lub br/, które umieściłem w mojej treści na backendzie, po prostu nie wyświetlały się na interfejsie. Bez względu na to, co zrobiłem - enter + shift w wizualizacji lub wstawiam tagi ręcznie w edytorze html - próbowałem kilku rzeczy, ale nic nie działało. Ciekawostka: na stronie, nad którą pracuję było już kilka br's, które działają bezproblemowo, więc przejrzałem kod, czy coś było, ale nadal nic nie mogłem znaleźć. Znalazłem na to **dopuszczalne rozwiązanie**: proste przerwy. Ta wtyczka daje mi możliwość wstawiania tagów br, pisząc krótki kod "[br]". Nie przeszkadza mi to. Mimo to naprawdę chcę Cię zapytać, czy masz podobne problemy lub czy istnieje jakieś rozwiązanie tego problemu! Wiadomo, że WP ma problemy z br's i p's, więc myślę, że użytkownicy po prostu muszą się z tym pogodzić. Pozdrowienia z Niemiec i pls nie są zbyt trudne dla mojego złego angielskiego :) **Więcej informacji:** * Już odznaczyłem "WordPress powinien automatycznie poprawiać nieprawidłowo zagnieżdżony XHTML" w Admin > Ustawienia > Pisanie. (dzięki PoseLab) * Zainstalowałem TinyMCE Advanced i zaznaczyłem "Przestań usuwać tagi i podczas zapisywania i pokaż je w edytorze HTML"


title: Czy w opcji można zapisać więcej niż jeden obraz?

text: Poniższy kod pozwala przesłać wiele obrazów, ale tylko jeden jest zapisywany w opcji. Czy w opcji można zapisać wiele obrazów jako tablicę, czy będę musiał utworzyć osobne kontrolki? $wp_customize->add_section("slider",array( 'title'=>"Slider", 'description'=>"Wybierz obrazy do suwaka", 'priority'=>'36' )); //obrazy $wp_customize->add_setting("slider[obrazy]",array( 'default'=>"", 'type'=>"opcja" )); $wp_customize->add_control(nowy WP_Customize_Image_Control($wp_customize,"slider[images]",array( 'label'=>__("Obrazy","adaptacyjna-framework"), 'section'=>"slider", 'ustawienia '=>"suwak[obrazy]" )));


title: Wyszukiwanie meta informacji Wp eCommerce

text: Po wyjęciu z pudełka WP eCommerce nie obsługuje wyszukiwania Meta. Jest to duży problem, jeśli sprzedajesz książki online i chcesz, aby klienci mogli wyszukiwać według najważniejszego metatagu, autora! Czy ktoś może mi powiedzieć, jak mogę włączyć wyszukiwanie metainformacji, czy jest lepsza wtyczka, która nie kosztuje ramienia i nogi do wyszukiwania metainformacji? Wielkie dzięki


title: Dostosowywanie użytkowników w obszarze administracyjnym

text: Wiem, jak dostosować użytkowników w obszarze administracyjnym WordPressa. Robiłem to wiele razy. Chciałbym jednak dostosować użytkownika nieco inaczej, jak wyjaśniono poniżej. Chciałbym dodać nową etykietę i nowe pole tekstowe powiązane z tą etykietą. Nazwijmy je „Etykieta 1” i „Pole tekstowe 1”. Lubię dodawać je pod zestawem pól „Nazwa użytkownika” i przed zestawem pól „Rola”. Innymi słowy, podoba mi się, że po dostosowaniu obszar administracyjny użytkownika wygląda tak: Nazwa użytkownika: <Pole tekstowe NA NAZWĘ UŻYTKOWNIKA> Etykieta 1: <Pole tekstowe 1> Rola: <LISTA ROZWIJANA DLA ROLI> Wszystkie znalezione przeze mnie przykłady opisują dodawanie nowe pola na dole strony użytkownika.Jak mogę dodać je na środku?Dzięki.


title: get_the_author_meta

text: Zastanawiam się tylko, czy `get_the_author_meta()` zwraca wartość po odserializowaniu w przypadku, gdy jest przechowywana w bazie danych jako tablica serializowana? Do dziś w moim skrypcie zwracało to dane w postaci tablicy po jej odserializowaniu, a funkcje tablicowe na zwróconych danych działały bez zarzutu. Ale dzisiaj funkcje tablicowe przestały działać, ponieważ nie zwracają już niezserializowanej tablicy. Zwraca `a:1:{i:0;s:11:"test";}` co powoduje, że mój skrypt się psuje... Działa dobrze... Jak to możliwe?


title: wybrany element menu

text: Szablon, nad którym pracuję dla klienta, ma następujące strony: * Strona główna : niestandardowa strona statyczna, która wyświetla zawartość określonej strony WP i najnowsze przyklejone posty. To jest plik front-page.php. * O nas: strona WP * Usługi: strona WP * Events : lista postów WP w kategorii Wydarzenia * Blog : lista WP w kategorii Blog Chciałbym zaznaczyć aktualną sekcję w menu głównym w CSS, ale jedynym pomysłem, jaki mam, jest stworzenie dużej listy warunków PHP w zależności od aktualnego przypadku. Na przykład, jeśli widzimy kategorię Zdarzenia, musimy być w sekcji Zdarzenia i tak dalej. Czy istnieje prostszy sposób na osiągnięcie tego?


title: wp_head() - wylistować zahaczone akcje z priorytetami?

text: Chciałbym dodać coś do `wp_head()`, ale dążę do dokładnej lokalizacji (jak po style.css, ale przed rtl.css i przed moim innym niestandardowym skryptem). Zastanawiam się, czy mimo wszystko można wyświetlić wszystko, co jest dołączone do `wp_head()` w kolejności wykonywania/wyświetlania? Wiem, że mogę przekazać parametr priorytet/kolejność do `add_action`, ale muszę wiedzieć, jaki to będzie numer. add_action( 'wp_head', 'moja_funkcja', 10 ); Wszystko zaczyna się od `10`, ale jakoś rtl.css wydaje się być zawsze po style.css. Czy to może „11”? Jak się tego dowiedzieć?


title: Usuwanie pól meta: remove-meta_box() czy unset()?

text: Widziałem dwa sposoby usuwania pól meta: remove_meta_box() i unset(). function TEST_remove_dashboard_widgets(){ remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' ); } add_action('wp_dashboard_setup', 'bmc_remove_dashboard_widgets'); vs. funkcja TEST_remove_dashboard_widgets() { globalne $wp_meta_boxes; unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']); } add_action('wp_dashboard_setup', 'bmc_remove_dashboard_widgets'); remove_meta_box wydaje się lepsze, ponieważ jest wyraźnie przeznaczone tylko do tego, ale widziałem też sformułowanie unset w kilku miejscach. Dlaczego miałbym używać jednego kontra drugiego?


title: Włącz komentarze do posta po usunięciu meta pola komentarzy

text: Natrafiłem na problem opisany w '11: "Włącz komentarze do posta z usuniętym polem komentarzy" i chciałbym prosić o pomoc w dostosowaniu wspomnianego tam kodu do aktualnej wersji wordpress. Mam niestandardowy typ posta, który musi mieć włączone komentarze, a _contributors_ nie może mieć możliwości wyłączenia komentarzy. Włączyłem komentarze w Ustawienia->Dyskusja i usunąłem pole meta `commentstatusdiv` za pomocą `remove_meta_box()`. Po tym zorientowałem się, że komentarze nie są ustawione, gdy pole meta jest wyłączone. Teraz szukam sposobu na egzekwowanie komentarzy.


title: Wyświetlać losowe posty, ale pominąć post, w którym jest?

text: Staram się mieć sekcję pod jednym postem, w której wyświetla całkowicie losowe posty. Wszystko działało, ale od czasu do czasu jeden z losowych postów, które są wyświetlane, jest tym, na którym jest (jedynym). Oto mój kod: <?php $args = array( 'numberposts' => 3, 'orderby' => 'rand' ); $rand_posts = get_posts( $args ); foreach( $rand_posts jako $post ): ?> <?php endforeach; ?> Czy jest tak, aby nigdy nie wyświetlał posta, na którym jest? Dziękuję Ci.


title: Jak dodać HTML / formularz do menu paska administracyjnego?

text: Chciałbym dodać niestandardowy formularz do paska administracyjnego w Wordpress. czy istnieje sposób, aby to osiągnąć? Jak dotąd cała dokumentacja wydaje się dopuszczać jedynie dodawanie prostych linków tekstowych.


title: Lokalna wersja jquery nie działa poprawnie

text: Rozwijanie motywu dla kogoś innego, zwykle na stronach, które bym utrzymywał Używałbym google CDN do ładowania jquery w ten sposób: //nie używaj (wyrejestruj) wersji jQuery WP wp_deregister_script( 'jquery' ); //Użyj jQuery z Google Code wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'); wp_enqueue_script('jquery'); Ale po usunięciu tej lokalnej wersji WordPressa psuje moją witrynę, ładuje tę samą wersję tylko z wp-includes, jquery 1.11.1. Kiedy używam Google CDN, wszystko jest w porządku. Kiedy używam wersji lokalnej, po prostu wyświetlają błędy w moim JS, takie jak „Niezłapany błąd TypeError: undefined is not a function” w pierwszym wierszu mojego pliku main.js. Całkowicie zakłopotany, co spowodowałoby ten problem.


title: jak usunąć filtr z wyjścia shortcode wordpress?

text: Wtyczka Twitter URL dodaje filtr do the_content. Ten filtr psuje wyjście mojego krótkiego kodu wtyczki. Więc chcę usunąć ten filtr tylko dla mojego wyjścia shortcode. add_filter('treść', 'twitter_url'); Wiem, że można to usunąć za pomocą poniższego filtra remove_filter('the_content', 'twitter_url'); Ale, jak zastosować ten filtr tylko do mojego wyjścia shortcode. Mój krótki kod add_shortcode('xxx', 'func_xxx'); Funkcja wywołania zwrotnego krótkiego kodu func_xxx(){ return 'xxx'; } Więc proszę, pomóż mi to zrobić!


title: Czy można umieścić w kolejce nieprzetworzony ciąg CSS bezpośrednio z pliku szablonu?

text: Zastanawiałem się, czy możliwe jest kolejkowanie surowego CSS jako ciąg bezpośrednio z pliku szablonu? Piszę niestandardowy szablon strony i muszę dodać do niego kilka reguł stylistycznych. To, co chcę zrobić, to napisać style jako ciąg var w PHP, a następnie użyć funkcji enqueue_style do załadowania tych stylów, zamiast dodawać je do 'style.css' lub innego zewnętrznego arkusza stylów. Założyłem, że tak długo, jak umieszczam moje style w kolejce przed wywołaniem funkcji 'get_header' i jeśli podłączę się do akcji 'wp_head' lub 'wp_enqueue_styles', to zadziała, ale tak się nie dzieje i nie jestem pewien, czy „wp_enqueue_style” może pobrać surowy ciąg CSS. Czy ktoś ma jakieś rady? Pozdrawiam Chris


title: Uzyskaj oryginalny obraz z wyróżnionym wymiarem na stronie głównej

text:
Próbuję zintegrować niestandardowy suwak przy użyciu wtyczki 3rdParty jQuery na stronie głównej. Już prawie jestem. Potrzebuję oryginalnych polecanych obrazów, a nie przyciętych. <?php if (is_home()): ?> <?php $featured_posts = new WP_Query(array( 'post_type' => 'post', 'showposts' => 5, 'tag' => 'polecane' )); ?>
 <?php while($featured_posts->have_posts()): $featured_posts->the_post(); ?> <?php $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'polecany-obraz'); ?> <a href='<?php the_permalink(); ?>'> <img src="<?php echo $image[0]; ?>" style="szerokość:940px;wysokość:500px" />  <?php endwhile; ?>
 <?php endif ?> Problem polega na tym, że wszystkie obrazy mają wymiar 516x340. Jak uzyskać obraz o oryginalnych wymiarach?


title: Klient nie widzi zaktualizowanej zawartości dynamicznej

text: Natknąłem się na problem... za każdym razem, gdy przesyłam nową treść do witryny... i wysyłam link do klienta.. Nie może wyświetlić zmian, zamiast tego widzi wcześniej zaktualizowaną treść. Wygląda na to, że jest jakiś problem z buforowaniem ... ale nigdy nie widziałem, aby zawartość dynamiczna była buforowana. Nawet ja muszę wyczyścić pamięć podręczną w Safari, aby zobaczyć dynamiczne zmiany.. Używam motywu Wioska . Nie jestem pewien, czy to jest problem z motywem.. Czy jest jakieś rozwiązanie tego problemu, które mogę wypróbować, zamiast czekać na odpowiedź twórcy motywu? Używam poniższego kodu, aby upewnić się, że zaktualizowana zawartość jest ładowana przy każdym załadowaniu strony. `<?php header('Wygasa: sobota, 26 lipca 1997 05:00:00 GMT'); header('Cache-Control: no-store, no-cache, must-revalidate'); header('Kontrola pamięci podręcznej: pre-check=0, post-check=0, max-age=0'); nagłówek („Pragma: brak pamięci podręcznej”); ?>` Ale czy ponownie załaduje wszystko, w tym pliki Js i css? Jeśli tak jest, to nie powinienem używać tej techniki? Dzięki, Nasiro


title: Umieścić plik cookie po wyświetleniu określonej strony?

text: Staram się kierować nowych odwiedzających witrynę na niestandardową stronę rejestracji **tylko przy pierwszej wizycie**. Rejestracja zbiera szczegółowe informacje dotyczące nadchodzącego wydarzenia, **nie** jest przeznaczona do zarejestrowania odwiedzającego jako użytkownika instalacji WordPress. Strona rejestracji zawiera formularz Gravity, który po przesłaniu przekierowuje na stronę z podziękowaniami. Chciałbym wiedzieć, w jaki sposób **zamieścić plik cookie w WordPressie tylko wtedy, gdy użytkownik trafi na stronę z podziękowaniami**. Z góry dziękuję. NB: Powinienem również powiedzieć, że dodałem do pliku functions.php: /* SET NEW USER COOKIE */ function set_newuser_cookie() { if (!isset($_COOKIE['newtcpa_visitor'])) { setcookie( 'newtcpa_visitor', 1, time()+3600*24*100, COOKIEPATH, COOKIE_DOMAIN, false); } } add_action( 'init', 'set_newuser_cookie'); Nie mam pewności co do COOKIEPATH & COOKIE_DOMAIN. Próbowałem następujących ustawień, ale nie mam zbyt wiele szczęścia w izolowaniu szablonu/strony WP: setcookie('newtcpa_visitor', 1, time()+3600*24*100, '/', '.mydomain'. pl”, fałsz); i setcookie('newtcpa_visitor', 1, time()+3600*24*100, '/', '.moja_domena.com/dziekujemy/', fałsz); _Przepraszamy za wiele zmian... pierwszy post na WordPress Answers_


title: wartość zmiennej znika w drugiej pętli

text:
nie mogę "zobaczyć" wartości `$originalArticle` w `echo '/'.$originalArticle.'== &'.$sameArticle;` : próbowałem wcześniej z "global", ale to nie działa ... Dane wyjściowe to na przykład : > /== &48 Jakaś pomoc? <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <?php $originalArticle = the_ID(); //to działa ?>
…

…
 <?php $koty = pobierz_kategorię(); $cat_obj = array_shift($cats); $cat_id = (int) $cat_obj->cat_ID; $second_query = nowe WP_Query( 'cat='.$cat_id.'&posts_per_page=2' ); while ( $second_query->have_posts() ): $second_query->the_post(); $ten sam artykuł = get_the_ID(); /* TUTAJ */ echo '/'.$originalArticle.'== &'.$sameArticle; //output : /== &48 if ( $originalArticle == $sameArticle ) { } else { //... Dziękujemy za pomoc


title: jak dodać rejestrację użytkownika i rejestrację w wordpressie i stworzyć stronę tylko dla członków?

text: próbuję dodać system logowania użytkownika w moim wordpressie, tak jak zwykłe witryny php. kiedy użytkownik się zalogował, chcę pokazać konkretną zawartość strony, w przeciwnym razie nie. Czy jest jakiś proces, aby dodać ładny system rejestracji i logowania w wordpressie i nie ma również dostępu do zaplecza? Dziękuję


title: Sprawdź, czy istnieje zaczep akcji przed dodaniem do niego akcji

text: Próbuję dodać tagi linków `rel=next` i `rel=prev` do elementu head pliku szablonu `image.php`. Mam zainstalowany Wordpress SEO i lubię podpinać się pod tą wtyczkę `wpseo_head`, aby to osiągnąć. To co chciałbym zrobić, to sprawdzić, czy hak akcji `wpseo_head` istnieje, zanim dołączę do niego moją akcję, a jeśli nie tak, jak w przypadku wtyczki nie jest zainstalowana lub dezaktywowana, użyłbym zamiast niej `wp_head`. Próbowałem funkcji `has_action('wpseo_head')`, ale problem polega na tym, że jeśli nie ma żadnych funkcji podłączonych do tego zaczepu, zwróci `false`, nawet jeśli wtyczka jest aktywna. if (has_action('wpseo_head')) { add_action('wpseo_head', 'ad_add_link_tag_image_head'); } else { add_action('wp_head', 'ad_add_link_tag_image_head'); } W jaki sposób można sprawdzić akcje, które mogą nie istnieć w Wordpressie? Dziękuję.


title: Dlaczego ten search.php nie działa?

text:
Ten search.php pokazuje wszystkie wyniki wspomnianego wyszukiwania, jednak nie zawiera tytułu, wyników wyszukiwania dla ...... i ilości wyszukiwanych haseł; lub nawet nie znaleziono wyszukiwań i drukuje formularz wyszukiwania. <?php get_header(); ?> <?php if ( have_posts() ) : ?>
<?php printf( __( 'Wyniki wyszukiwania dla: %s', 'nic' ), '' .get_search_query( ) . '' ); ?>

 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php $polecane = get_post_meta($post->ID,'_thumbnail_id',true); $attachments = get_children( 'post_type=attachment&orderby=menu_order&exclude='.$featured.'&post_mime_type=image&post_parent='.$post->ID ); $vimeo = get_post_meta($post->ID, 'rw_post-vimeo',true);?>
  <time datetime="<?php the_time( 'Y-m-d')?>"><?php the_time('F jS, Y') ?></time>  <?php get_template_part( 'includes/inc-image' ); ?> <?php endif; ?>   <?php get_template_part( 'includes/inc-detail' ); ?> <?php koniec; endif; ?> <sekcja id="paginacja"> <?php wp_pagenavi(); ?>

  <?php else : ?>
<?php _e( 'Nic nie znaleziono', 'nic' ); ?>

<?php _e( 'Przepraszamy, ale nic nie pasuje do twoich kryteriów wyszukiwania. Spróbuj ponownie z innymi słowami kluczowymi.', 'twentyten' ); ?>
 <?php get_search_form(); ?> <?php endif; ?> <?php get_footer(); ?> Ciekawe, że posty w ich tagu li pojawiają się na początku
 Więc zakładam, że jest to problem z oświadczeniem, ale nie mogę tego rozgryźć :( Jakieś pomysły?


title: Zniekształcony kod HTML pobrany dla opisu strony „id podpisu=załącznik...”

text: Za każdym razem, gdy ktoś łączy się z moim blogiem Wordpress, niezależnie od tego, czy jest to Facebook, ScoopIt, czy gdziekolwiek, zamiast opisu, automatycznie pobiera informacje z obrazu: ![Przykład tego wydarzenia na ScoopIt](http://i.stack.imgur .com/bg65C.png) Jak to zrobić? Wolałbym opis meta lub coś takiego, a nie jakiś zniekształcony kod HTML.


title: wp_insert_post w tym samym czasie, co zapisywanie wyników posta w 502 Bad Gateway

text: Obecnie próbuję utworzyć/zaktualizować jeden post, jednocześnie zapisując bieżący post, na którym się znajduję. Tutaj wszystko się dzieje: add_action('save_post', 'wysiwyg_save_meta'); funkcja wysiwyg_save_meta(){ global $post; $editor_id = WYSIWYG_EDITOR_ID; $ meta_key = WYSIWYG_META_KEY; if(isset($_REQUEST[$editor_id])) { update_post_meta($post->ID, WYSIWYG_META_KEY, $_REQUEST[$editor_id]); $thankYouPost = get_thank_you_post($post->ID); $postArgs = array( 'post_content' => $_REQUEST[$editor_id], 'post_name' => 'thank-you', 'post_title' => "Dziękuję", 'post_status' => $post->post_status, ' post_type' => 'landing_page', 'post_parent' => $post->ID, ); if ($thankYouPost->ID) { $postArgs['ID'] = $thankYouPost->ID; } wp_reset_postdata(); wp_reset_query(); wp_insert_post($postArgs); wp_reset_postdata(); wp_reset_query(); } } Teraz to działa i zapisuje obie strony, ale wygląda na to, że faktycznie nie działa. Strona po prostu siedzi i próbuje się załadować, aż w końcu otrzymam błąd 502 Bad Gateway. Jednak ręczne odświeżenie strony pokazuje mi, że akcja się powiodła. Co może być tego przyczyną? Więcej informacji chętnie udzielę. Dziękuję za Twój czas.


title: nieoczekiwany błąd składni '}' w 364 wierszu

text: Otrzymuję ten błąd w mojej witrynie i nie mogę uzyskać dostępu do panelu administracyjnego. Błąd pojawia się, gdy jestem nowym motywem na mojej stronie. Czy możesz mi pomóc znaleźć ten błąd. > Błąd analizy: błąd składni, nieoczekiwany '}' w /home/content/html/wp- > content/themes/imag-mag/functions.php w wierszu 364


title: Warunkowe sprawdzenie, czy plik bootstrap.css jest zawarty w motywie

text: Tworzę wtyczkę shortcode do frameworka Bootstrap, która będzie pasować do mojego motywu. Ponieważ jednak zostanie to wydane we wtyczce, jeśli motyw użytkownika zawiera już plik Bootstrap.css, czy istnieje sposób, abym mógł to sprawdzić we wtyczce?


title: Duża niechciana przestrzeń na dole postów na blogu

text: Jestem trochę zakłopotany tym, dlaczego na dole wpisów na blogu jest tak dużo miejsca. Próbowałem usunąć tag "więcej", wielokrotnie sprawdzałem element, ale po prostu nie mogę się go pozbyć. Jakieś sugestie? http://gregtaylordesignstudio.com/sayyes/?page_id=10


title: Nawigacja po jednym produkcie w ramach kategorii dla WooCommerce

text:
Pracuję nad stroną internetową dla klienta, który chciałby mieć nawigację produktową na każdej stronie produktu. Nawigacja przejdzie przez każdy produkt w kategorii, a kiedy dotrze do ostatniego produktu, powróci do strony przeglądu produktów. Próbowałem wielu różnych podejść, ale jedynym podejściem, które do tej pory zadziałało, jest użycie nawigacji po wpisach wordpress:
<?php previous_post_link('%link','prev '); ?>

<?php next_post_link( '%link','następny'); ?> ale to przechodzi przez wszystkie produkty, nie tylko dla poszczególnych kategorii. Próbowałem również ustawić link do poprzedniego/następnego postu w ten sposób, starając się pozostać w kategorii:
<?php previous_post_link('%link','prev', TRUE); ?>

<?php next_post_link( '%link','następny', TRUE); ?>
 ale jak się okazuje, kategoria postów nie jest ustawiona, ponieważ Woocommerce traktuje kategorię jako kategorię produktu, a nie kategorię postu. Aby spróbować obejść ten problem, wymyśliłem następującą funkcję: function save_product_cat(){ global $post; $terms = get_the_terms( $post->ID, 'product_cat' ); wp_set_post_categories( $post->ID, $terms ); wp_set_object_terms ($post->ID, $terms->slug, 'kategoria'); } add_action('save_post', 'save_product_cat'); Próbuję się połączyć, kiedy wpis jest zapisywany, abym mógł pobrać kategorię produktu i ustawić ją jako kategorię. Kiedy testuję, aby zobaczyć, jakie są kategorie produktów, wciąż otrzymuję pustą tablicę. Masz jakieś pomysły, dlaczego moja kategoria nie jest zapisywana? Lub lepszy sposób na poruszanie się po pojedynczym produkcie w ramach kategorii produktów?


title: Zastąp wtyczkę za pomocą functions.php

text: add_action('wp_head','add_gpp_gallery'); function add_gpp_gallery() { if( ( is_single() || is_page() ) && ( !is_page_template('page-blog.php') ) ){ remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('galeria', 'gpp_gallery_shortcode'); } } Cześć wszystkim, wyciągnąłem powyższą funkcję z pliku podstawowych funkcji wtyczki i miałem nadzieję, że zmienię ją, aby zastąpić tylko domyślną galerię WP w moim niestandardowym typie postu. Zmieniłem więc powyższą instrukcję if na: if (is_single() && is_post_type('post_type'){ Zmieniłem to i umieściłem w moim functions.php - ale otrzymuję błąd, że nie mogę ponownie zadeklarować add_gpp_gallery Jak nadpisać funkcje wtyczki bez dotykania kodu wtyczki?dzięki **EDIT** Próbowałem: remove_action('wp_head', 'add_gpp_gallery');add_action('wp_head','jason_add_gpp_gallery'); function jason_gallery_gpp_ if ( is_single() && is_post_type('listings') ){ remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('gallery', 'gpp_gallery_shortcode'); } } i pojawia się błąd krytyczny -> Błąd krytyczny: Zadzwoń do niezdefiniowanej funkcji is_post_type() w > /home/hostspro/public_html/movemaine.com/wp- > content/themes/movemaine/functions.php w wierszu 269 **EDIT #2** zapominając o zmianie is_post_type.Poniższy kod działa i dzięki za pomoc remove_action( 'wp_head', 'add_gpp_gallery' ); add_action('wp_head','jason_add_gpp_gallery'); function jason_add_gpp_gallery() { if ( is_single() && 'listings' == get_post_type() ) { remove_shortcode('gallery', 'gallery_shortcode'); add_shortcode('galeria', 'gpp_gallery_shortcode'); } }


title: Jak umieścić motyw Wordpress w języku hiszpańskim (posiadając plik po)?

text: Tworzę system blogów Wordpress w języku hiszpańskim i chciałbym, aby domyślny motyw został również przetłumaczony na "es_ES". Używam już tej instalacji Wordpress w języku hiszpańskim. Chciałbym wiedzieć, jak zrobić to samo z domyślnym motywem (dwadzieścia jedenaście). Ta strona umożliwia nam pobranie pliku po z tłumaczeniem: http://translate.wordpress.org/projects/wp/3.2.x/twentyeleven/es/default Ale nie wiem co dalej. Dziękuję.


title: Jak dołączyć najnowszy post z określonej kategorii na pasującej stronie

text: Mam kilka stron i na każdej chciałbym wyświetlić najnowszy post z kategorii pasującej do tej strony. Mam więc strony 1, 2 i 3, a na stronie 1 chciałbym najnowszy post z kategorii A. 2 -> B, 3 -> C i tak dalej. Próbowałem sam to zakodować, ale nie mogę znaleźć wystarczająco solidnego, odpornego na CMS sposobu powiązania strony z kategorią postów. Jeśli więc ktoś zmieni stronę, stracę post. Znalazłem wtyczkę, http://wordpress.org/extend/plugins/list-category-posts/, która wydaje się robić to, czego chcę, jednak dodanie krótkiego kodu do mojej strony, po prostu wyświetla krótki kod i nic nie robi . Zakładam, że to dlatego, że obsługuje WP 3.1.4 i używam 3.2.1. Czy mogę samodzielnie zakodować tę funkcjonalność, czy też będę musiał utworzyć tabelę łączy w bazie danych? Wolałbym używać frameworka WP, ale jeśli nie mogę tego złamać, po prostu napiszę skrypt, który zrobi to w zwykłym starym php i po prostu go dołączę, czego nie chcę robić.


title: Wyświetlaj tylko najnowszy post z wielu kategorii

text: Mam suwak jQuery w górnej części mojego index.php, który działa dobrze. Jedynym problemem jest to, że chciałbym używać query_posts do wyświetlania tylko najnowszych postów z pięciu różnych kategorii i zawsze pokazywać po jednym z każdej. Tak więc, gdy zostanie utworzony nowy post, powiedzmy w wywiadzie kategorii, zostanie on wyświetlony. Ale post z wywiadu, który został opublikowany dzień wcześniej, nie zostanie wyświetlony, ale najnowszy post z czterech pozostałych kategorii nadal tam jest. Myślę, że to trochę skomplikowane, nie?