title: Problemy z tabelą niestandardową bazy danych - wyświetlany niepoprawny wynik

text:
Po pierwsze: większość dzisiejszego dnia spędziłem przeglądając te fora; fora stackoverflow; podręcznik php.net; i kilka przypadkowych witryn, które znalazłem w wyszukiwarce Google - więc jeśli przegapiłem odpowiedź i wygląda na to, że zadaję już odpowiedź na pytanie, przepraszam. Prawdopodobnie zbyt długo przyglądam się temu samemu problemowi i nic nie ma sensu. Tło: wstawiliśmy kilka niestandardowych tabel do bazy danych Wordpress, więc mogę połączyć się z tymi tabelami przez $wpdb. Kod dla działających połączeń jest następujący: global $wpdb; // pobierz listę lokalizacji $localityRow = $wpdb->get_results( "SELECT * FROM tblYBSLocality ORDER BY Name ASC" ); // pobierz listę szkół $schoolRow = $wpdb->get_results( "SELECT * FROM tblYBSSchool ORDER BY Name ASC" ); // uzyskaj identyfikator szkoły, jeśli formularz został przesłany $SelectedSchoolID = $_GET['schools']; // pobierz identyfikator lokalizacji, jeśli formularz został przesłany $SelectedLocationID = $_GET['localities']; Później na mojej stronie robię różne rzeczy (strzelanie!) // Utwórz rozwijane pole dla użytkownika, aby wybrać jego lokalizację (i jedno zostało zrobione // dla szkoły, ale pominąłem to, ponieważ masz pomysł <select name="lokalizacje" style="szerokość: 300px"> <?php foreach ($localityRow jako $lokalizacja) { $LocalityID = $Locality->LocalityID; $LocalityName = $Locality->Name; ?> <wartość opcji=< ?php echo $LocalityID; ?> <?php if(isset($SelectedLocationID) && $SelectedLocationID == $LocalityID) print("wybrano")?>><?php echo $LocalityName;?> </option> <? php } ?> </select> Uwaga - Tak, wiem, że używanie * jest złe, naprawię to później - teraz po prostu chcę, aby to działało.Za pomocą tego mogę przejść i wygenerować kilka rzeczy za pomocą następującego : // pobierz identyfikator szkoły, jeśli formularz został przesłany $SelectedSchoolID = $_GET['schools']; // pobierz identyfikator lokalizacji, jeśli formularz został przesłany $SelectedLocationID = $_GET['loc sojusze”]; To nie ma większego znaczenia dla reszty mojego wydania, więc pójdę dalej. Problem: zacznę od kodu. To ma łączyć się z kilkoma innymi tabelami i robić różne rzeczy - na podstawie połączeń i danych pobranych powyżej: $selectedSchoolName = $wpdb->get_results( "SELECT Name FROM tblYBSSchool WHERE SchoolID=".$SelectedSchoolID ); // pobierz wybraną nazwę lokalizacji $selectedLocationName = $wpdb->get_results( "SELECT Name FROM tblYBSLocality WHERE LocalityID=".$SelectedLocationID ); // pobierz identyfikator trasy $getRouteID = $wpdb->get_results( "SELECT * FROM tblYBSRoute WHERE RouteID IN ( SELECT RouteID FROM tblYBSRouteSchool WHERE SchoolID =".$SelectedSchoolID.")".$SelectedLocationID); Teraz myślę, że problem dotyczy części ".$SelectedSchoolID ); (i lokalizacji, ale już pobiera tldr). Co chcę zrobić później na stronie (gdy użytkownik dokona wyboru i prześle formularz ), to uzyskiwanie wyników (wyobraź sobie!). Są 2 części wyników: 1. Chcę powiedzieć „Wyniki wyszukiwania tras między:” nazwą lokalizacji a nazwą szkoły. Po drugie, chcę wyświetlić te wyniki. Ale Nie mogę nawet przekroczyć pierwszego punktu, więc naprawmy to najpierw.Próbowałem 3 różnych podejść: // PIERWSZE PODEJŚCIE // To działa, odzwierciedla ostatnią nazwę miejscowości z tabeli // co jest lepsze niż nic <?php echo $LocalityName;?> i <?php echo $SchoolName;?>
 // DRUGIE PODEJŚCIE // To daje mi białą stronę Śmierć. Co jest zabawne, ponieważ jest prawie // dokładnie takie samo jak to, co zostało użyte w opcji - która zadziałała <?php if(isset($SelectedLocationID) && $SelectedLocationID = = $LocalityID) echo $LocalityName;?> i <?php if(isset($SelectedSchoolID) && $SelectedSchoolID == $SchoolID) echo $SchoolName;?> // TRZECIE PODEJŚCIE // To również daje mi białą stronę śmierci. A teraz skończyły mi się pomysły. <?php if(isset($SelectedLocationID) && $selectedLocationName == $LocalityName echo $LocalityName ;?> i <?php if(isset($SelectedSchoolID) && $selectedSchoolName == $ SchoolName echo $SchoolName ;?> W mojej głowie (HAH!) powinny działać ostatnie 2. Czy mam rację, myśląc, że jest to część „.$SelectedSchoolID ); za TLDR, ale pomyślałem, że powinienem podać jak najwięcej szczegółów.Wszelka pomoc jest bardzo mile widziana.Zamierzam teraz uderzyć głową w biurko kilka razy :P


title: WP_Query post__in nie działa z tablicą

text: Używam następującego kodu do wygenerowania określonej listy postów z `WP_Query` $args = array ( 'post__in' => $cookie_array, 'post_type' => 'tyre', 'post_status' => 'publish', 'posts_per_page ' => '100', ); `$cookie_array` to tablica, którą generuję na podstawie niektórych wartości w ciasteczku (identyfikatory posta). Problem polega na tym, że z jakiegoś powodu WP_Query nie wyświetli wpisu odpowiadającego ostatniej wartości w tablicy. Na przykład, jeśli tablica składa się z 1,2,3, to moje WP_Query pobiera tylko posty o identyfikatorach 1 i 2. Wydrukowałem wartości tablicy tuż przed wywołaniem listy argumentów pokazanej powyżej i na pewno jest 1 więcej wartości niż otrzymuje WP_Query. Jakieś pomysły co się dzieje? ## Edytuj Zgodnie z żądaniem wynik `var_dump($cookie_array)` \- aby potwierdzić, że tylko 3 elementy są wyświetlane przez moje WP_Query, gdy tablica jest ustawiona jak poniżej: array(4) { [0]=> string(5) "15829" [1]=> string(5) "22728" [2]=> string(5) "22734" [3]=> string(5) "22725" } **`var_dump($getposts->request )` outputs:** string(230) "SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.ID IN (15829,22728,22734,22725) AND wp_posts.post_type = 'opona' AND ((wp_posts.post_status = 'opublikuj')) ZAMÓWIENIE PRZEZ wp_posts.post_date OGRANICZENIE ZNISZCZENIA 0, 100"


title: Jest jakiś sposób na użycie niestandardowego parametru do umieszczenia na youtube bez użycia elementu iframe?

text: Nie chcę wyświetlać tytułów filmów, które osadzam w mojej witrynie wordpress. Sposób, w jaki to robię, polega na użyciu linku do embed, wstawieniu iframe w poście wordpress i dodaniu niestandardowego parametru „showinfo=0” na końcu adresu URL. Działało to dobrze, dopóki nie zdecydowałem się zmienić projektu mojej witryny. Musiałem użyć niestandardowego css, aby zmienić wszystkie filmy (prawie 200), które zrobiłem, aby pasowały do nowego projektu. Gdybym znał sposób na upuszczenie linku do wordpress (jak większość ludzi), nie musiałbym używać iframe, a wordpress dostosowałby rozmiar wideo na podstawie ustawienia wprowadzonego w sekcji multimediów . Mam nadzieję, że istnieje lepszy sposób na osadzenie filmu z YouTube niż sposób, w jaki to robiłem (byłoby wspaniale po prostu wrzucić link do wordpressa zamiast przechodzić przez tak wiele różnych kroków, aby uzyskać wideo do wyświetlenia. Czy ktoś ma jakieś pomysły, jak (jeśli w ogóle jest to możliwe) to zrobić? Codziennie publikuję wideo, więc naprawdę pomogłoby mi to, gdyby istniał sposób, aby to zrobić. Dzięki. ` <? php load_theme_textdomain('standardtheme', get_template_directory() . '/lang'); $locale = get_locale(); $locale_file = get_template_directory() . '/languages/$locale.php'; if(is_readable($locale_file)): require_once($locale_file); endif; add_theme_support('post-thumbnails'); require_once('admin/functions.php'); require_once('lib/standardtheme.php'); require_once('lib/pro-photo/pro- photo.php'); funkcja Oembed_youtube_no_title($html,$url,$args){ $url_string = parse_url($url, PHP_URL_QUERY); parse_st r($ciąg_url, $id); if (isset($id['v'])) { return '<iframe szerokość="'.$args['szerokość'].'" wysokość="'.$args['wysokość'].'" src= "http://www.youtube.com/embed/'.$id['v'].'?rel=0&showinfo=0" frameborder="0" allowfullscreen></iframe>'; } return $html; } add_filter('oembed_result','Oembed_youtube_no_title',10,3); ?>


title: AJAX zwraca odpowiedź 0

text:
Próbuję uzyskać wartości profilu użytkownika za pomocą wywołania AJAX, ale odpowiedź jest zawsze 0. Oto moje PHP: wp_enqueue_script( // Dodaj JS do  'cc-author-change-post-author', plugins_url(' asset/js/change-post-author.js', dirname( __FILE__ ) ), 'jquery' ); wp_localize_script( // Zlokalizuj skrypt dla wywołań AJAX 'cc-author-change-post-author', // Nazwa lokalizowanego wywołania skryptu 'authorchange', // Przestrzeń nazw obiektu AJAX, używana do wywoływania wartości w tablicy plików JS(' ajaxurl' => admin_url( 'admin-ajax.php' ), // URL dla administratora wywołań AJAX 'nonce' => wp_create_nonce( 'cc-author-change-author-nonce' ) // Nonce do uwierzytelnienia żądania) ); function cc_author_change_postauthor_callback() { $nonce = $_POST['nonce']; // Przypisz zmienną lokalną dla nonce if ( ! wp_verify_nonce( $nonce, 'cc-author-change-author-nonce' ) ) { // Jeśli numer jednorazowy nie zostanie wypisany, nie powiedzie się zakończenie żądania ( 'Twoje żądanie może nie być uwierzytelniony” ); // Komunikat o błędzie dla nieuwierzytelnionego żądania } if ( current_user_can( 'edit_others_posts' ) || current_user_can( 'edit_others_pages' ) ) { // Sprawdź poprawność uprawnień przed obsługą żądania $author = $_POST['authorID']; // Przypisz zmienną lokalną autorowi przesłanego posta if ( $author ) { // Jeśli podano ID autora, pobierz dane użytkownika $authordata = get_userdata( $author ); // Pobierz dane wybranego użytkownika z jego profilu $authormeta = json_encode( array( // Zakoduj dane jako JSON 'display_name' => $authordata['display_name'], //Wyświetl nazwę z profilu 'description' => $authordata[ 'opis'] // Informacje biograficzne z profilu ) ); } else { // Jeśli nie podano identyfikatora autora, odeślij komunikat o błędzie $authormetaerror = 'Nie podano identyfikatora użytkownika. Proszę spróbuj ponownie.'; // Komunikat o błędzie do odesłania $authormeta = json_encode( array( // Zakoduj jako JSON 'display_name' => $authormetaerror, 'description' => $authormetaerror ) ); } echo $authormeta; // Zwróć wartości pobrane z bazy danych } exit; // Zakończ odpowiedź. Wymagane, aby wywołanie zwrotne zwróciło poprawny wynik. } // cc_author_change_postauthor_callback() add_action( 'wp_ajax_cc_author_change_postauthor', 'cc_author_change_postauthor_callback' ); A oto mój JavaScript: jQuery( document ).ready( function( $ ) { // Nie wykonuj niczego dopóki strona nie zostanie załadowana $( "#cc_author_postauthor" ).change( function() { // Jeśli lista autora wartość została zmieniona, wykonaj skrypt /* Dane do przekazania do serwera Wywoływane poniżej podczas $.post() */ var data = { action : 'cc_author_change_postauthor', // Action hook dla wywołania zwrotnego po stronie serwera nonce : authorchange. nonce, // Nonce odebrane z serwera w celu uwierzytelnienia żądania authorID : $( "#cc_author_postauthor" ).val() // ID autora do pobrania danych profilu }; /* Wyślij żądanie do serwera i przetwórz odpowiedź */ $.post( authorchange.ajaxurl, // adres URL do wysłania żądania do danych serwera, // dane do wysłania serwer, przechowywany w var data function( jsonString ) { // Skrypt do wykonania po pomyślnej odpowiedzi z serwera var authormeta = $.parseJSON( jsonString ); // Przeanalizuj plik JSON otrzymany z odpowiedzi serwera $( "#cc_authormeta.display_name ); // Zmień wartość nazwy wyświetlanej autora na wartość otrzymaną z serwera $( "#cc_authormeta.description ); // Zmień wartość biografii autora na wartość otrzymaną z serwera } // function( jsonString ) ); // $.post }); // $( "#cc_author_postauthor" ).change() }); Oto metapole, w którym znajduje się element formularza: function cc_author_metabox( $post ) { /* Pobierz bieżące wartości, jeśli istnieją */ $cc_author_meta = get_post_meta( $post->ID, '_cc_author_meta', true ); // Metadane autora (przechowywane jako tablica) $postauthorid = $post->post_author; // Pobierz ID użytkownika autora posta /* Jeśli brakuje którejś z wartości we wpisie, pobierz je z globalnego profilu autora */ if ( !$cc_author_meta ) { $postauthor = get_userdata( $postauthorid ); // Pobierz szczegóły autora posta $cc_author_meta = array(); // Zainicjuj główną tablicę $cc_author_meta[0] = array( // Zagnieżdżona tablica dla danych autora 'display_name' => $postauthor->display_name, // Ustaw wyświetlaną nazwę z danych autora posta 'description' => $postauthor->description // Ustaw biografię z danych autora posta ); } /* Wyświetl zawartość pola meta */ ?>

Zmiany wprowadzone w tych informacjach będą miały zastosowanie tylko do tego posta i nie zostaną zapisane w profilu użytkownika.
 < ?php if ( current_user_can( 'edit_others_posts' ) || current_user_can( 'edit_others_pages' ) ) { // Sprawdź możliwości bieżącego użytkownika, aby uzyskać wystarczające uprawnienia wp_dropdown_users( array( 'name' => 'cc_author_postauthor', // Nazwa dla element formularza 'id' => 'cc_author_postauthor', // Klasa elementu formularza 'selected' => $postauthorid // Wybierz autora posta, który ma być wyświetlany domyślnie ) ); ?>  Masz wyłączoną obsługę JavaScript. Jeśli zmienisz autora posta w menu, musisz zapisać posta w poniższych polach, aby je zaktualizować. Włącz JavaScript, aby uzyskać lepsze wrażenia.
<img id="cc_author_postauthor_loading_img" class="cc_author_postauthor_loading_img" src="<?php echo plugins_url( 'assets/img/loading.gif', dirname __FILE__ ) ); ?>" width="20px" style="szerokość: 20px;">
 <input type="ukryty" name="cc_author_currentpostauthor" value="<?php echo $postauthorid; ?>" > <?php } ?> <etykieta for="cc_author_meta[0][display_name]" class="selectit">Nazwa <input type="text" name="cc_author_meta[0][display_name]" id ="cc_author_meta[0][display_name]" value="<?php echo esc_attr( $cc_author_meta[0]['display_name'] ); ?>" /> <etykieta dla="cc_author_meta[0][opis]" klasa ="selectit">Biografia <? $descEditor = nowy ccAuthorDescEditor( $cc_author_meta[0]['opis'], 'cc_author_meta[0][opis]' ); // Utwórz obiekt edytora bio echo $descEditor->editor(); // Wyświetl edytor ?>
 <?php } Jestem pewien, że odpowiedź jest tuż przede mną, ale po raz pierwszy korzystam z API WordPress AJAX. Co ja robię źle? Możesz zobaczyć cały kod wtyczki w jej repozytorium Github.


title: Narzędzia do konwersji istniejącego projektu strony internetowej na szablon WordPress?

text: Wiem, jak to zrobić ręcznie, ale czy jest jakieś narzędzie, które mi w tym pomoże?


title: Strona główna bloga mówi „NIC NIE ZNALEZIONO Wygląda na to, że nie możemy znaleźć tego, czego szukasz”

text: Używam motywu Illustratr. Na stronie głównej mojego bloga jest napisane: "NIC ZNALEZIONO. Wygląda na to, że nie możemy znaleźć tego, czego szukasz. Być może wyszukiwanie może pomóc.", Pojawia się odkąd go stworzyłem. Wyświetla się tylko na tej pierwszej stronie, która jest statyczna i gdzie mam tylko galerię. Również kiedy zamieszczam inne treści na tej stronie, one tam zostają. Nie znam się na kodowaniu, więc zmiana szablonu nie wchodzi w grę... Dziękuję!


title: Użyj okna dialogowego WP media uploader, aby przesłać załącznik do formularza (bez administratora). Oferowanie postępów oraz informacji zwrotnych metodą „przeciągnij i upuść”

text: Buduję prosty formularz kontaktowy (nieadministracyjny), który posiada pole załącznika. Oczywiście mogę po prostu obsłużyć przesyłanie za pomocą funkcji wp_handle_upload WP. Chciałbym jednak zapewnić moim odwiedzającym bardziej przyjazne dla użytkownika wrażenia i zarządzać przesyłaniem za pośrednictwem wyskakującego okienka przesyłania mediów wp. Oferowanie im informacji o postępie przesyłania, przeciąganie i upuszczanie itp. Wiem, że jest to zwykle tylko administrator, ale czy istnieje sposób na użycie tego okna dialogowego przesyłania dla zwykłych (niezarejestrowanych, niezalogowanych) użytkowników? Jestem zdumiony, że najwyraźniej nikt tak naprawdę tego nie zrobił (po dość długich poszukiwaniach). Dzięki!


title: Zmiana klasy listy stronicowania

text:
Funkcja `paginate_links()` zwraca nieuporządkowaną listę z klasą o nazwie "numery stron". Jak mogę zmienić tę klasę? EDYCJA Obecnie korzystam z poniższej metody pomocy opaski. $return = paginate_links( $arg ); echo str_replace( "
", '
', $return ); Czy jest lepszy sposób?


title: Jak skonfigurować widok roku dla selektora daty we wtyczce Kalendarz wydarzeń?

text: Zainstalowałem tę wtyczkę: http://wordpress.org/plugins/the-events-calendar/ Wszystko jest super poza jedną rzeczą, nie mogę znaleźć miejsca, w którym mogę zmienić widok selektora daty. Na froncie "Events-In" ma taki widok po kliknięciu: http://screencast.com/t/eLUeN5tB Jak mogę ustawić widok roku w ten sposób: http://screencast.com/t/ 5z02EpQFCRod ?


title: Pobieranie danych z tabeli za pomocą zapytania

text: Zaczynam od WordPressa i mam wiele problemów i wątpliwości. Próbuję wyświetlić na stronie dane zapisane w tabeli mojej bazy danych. Posiadam tabelę o nazwie Klienci (id, imię, nazwisko, telefon). Dodaję kod do strony głównej serwisu: [php] $idCon = mysql_connect('localhost','user','password'); if(!$idCon){ echo "Błąd podczas łączenia bazy danych."; Wyjście; } mysql_select_db("baza danych",$idCon); $query = "WYBIERZ * OD KLIENTÓW"; globalna $respuesta = $wpdb->get_results($zapytanie); foreach( $respuesta as $wiersz ) { echo $wiersz->nazwa; } $reg = mysql_fetch_row($res); mysql_close($idConn); [/php] Ale nic nie jest wyświetlane na stronie. Możesz mi pomóc? Przy okazji, jak mogę debugować kod w wordpressie? To powinno mi bardzo pomóc. Dziękuję


title: Problem z poprawną rejestracją zmiennej zapytania

text: Mam stronę administratora dla mojej wtyczki, która wyświetla rekordy z bazy danych. Chcę je posortować pod pewnymi warunkami. Aby wywołać różne opcje sortowania, zdecydowałem się użyć ciągu zapytania. > Krok 1: Na początku kodu wtyczki zarejestrowałem moje zapytanie var `'bpc_sortby'` za pomocą: add_filter( 'query_vars', 'add_query_vars_filter' ); funkcja add_query_vars_filter( $qvars ){ $qvars[] = 'bpc_sortby'; zwróć $qvars; } tak jak Codex powiedział, że należy to zrobić. > Krok 2: Na wspomnianej stronie administratora utworzyłem dwa linki skierowane na tę samą stronę, ale z dodatkiem ciągu zapytania do adresu:  Identyfikator produktu Nazwa > Krok 3: Po załadowaniu strony należy sprawdzić `if (isset($wp_query ->query_vars['bpc_sortby']))` i jeśli jest ustawione, powinno wykonać pewne czynności sortowania. W przeciwnym razie powinien wypluć „Nie działa”. I, hm, cóż... kiedy klikam jeden z linków, wypluwa 'Nie działa' pomimo dodawania do linków argumentów zapytania (no cóż, przynajmniej są one widoczne w adresie strony). I nie, nie zapomniałem o ustawieniu `globalnego $wp_query`. Spędziłem ostatnie dwa dni na szukaniu działającej odpowiedzi i uważam, że query_var z **kroku 1** nie jest rejestrowany, lub tak się dzieje, ale z jakiegoś powodu został usunięty gdzieś później. To, co już próbowałem i nie powiodło się (wszystko z włączoną opcją DEBUG): * przełączenie na jeden z domyślnych motywów wordpress, * zabawa z nazwą var zapytania, * wyłączenie wszystkich innych wtyczek, * dezaktywacja i aktywacja mojej wtyczki, * `print_r( $wp_query- >query_vars);` \- zwraca pustą tablicę(), * `echo get_query_var( 'bpc_sortby' );` \- nic nie zwraca, * sprawdzenie, czy query_var została poprawnie zarejestrowana za pomocą funkcji: function qv_isset($var_name) { $ tablica = $ GLOBALS ['wp_query'] -> query_vars; return array_key_exists($nazwa_zmiennej, $tablica); } qv_isset ('bpc_sortby'); ...zwraca `FALSE` \- dlatego myślę, że jest to problem z `add_filter`, ale nie mam pojęcia, dlaczego nie działa tak, jak powinien. **Pytanie** : masz jakiś pomysł, dlaczego to nie działa lub co mam sprawdzić? PS. Wiem, że sortowanie można wykonać za pomocą magii jquery/js, ale chcę uniknąć używania objazdów, gdy przed nami jest prosta droga (tylko z kilkoma wybojami). PS2. `echo $_GET['bpc_sortby']` zwraca odpowiednią wartość (`prodid` lub `prodname`), ale słyszałem, że powinienem unikać bezpośredniego używania $_GET i zamiast tego używać zmiennych zapytań. Czy ktoś może to potwierdzić, a może to nie problem, o ile używam ich na stronie dostępnej tylko dla użytkowników z uprawnieniami administratora? Pozdrawiam i przepraszam za mój angielski, ale to nie jest mój ojczysty.


title: Nie można zapisać ról użytkownika — Ustaw rolę, mówi Zaktualizowano, ale bez zmian

text: dzięki za przeczytanie mojego pytania. Mam zainstalowaną witrynę Wordpress z motywem Delicious Magazine. W Użytkownicy --> Edytuj użytkownika chcę zmienić rolę określonego użytkownika na Współtwórcę. Po wprowadzeniu zmiany i zapisaniu otrzymuję komunikat „Zaktualizowano użytkownika”, ale rola się nie zmienia. Próbowałem nawet rejestracji nowego użytkownika. Domyślnie jest ustawiony na „Brak roli dla tej witryny”, a kiedy zmienię go na Współtwórcę i kliknę Zapisz, po prostu powraca do „Brak roli dla tej witryny”. Czy ktoś ma pojęcie, co tu jest? Dziękuję!


title: Jak wypełnić niestandardowe tabele wierszami danych?

text: Próbuję wypełnić niestandardową tabelę o nazwie kraje dwoma wierszami danych. Tabela niestandardowa jest tworzona po aktywacji wtyczki. Wiersze należy dodać, gdy wtyczka jest aktywna. Kod tabeli niestandardowej jest w porządku i tworzona jest tabela niestandardowa. Mój dotychczasowy kod: register_activation_hook( __FILE__, 'mp_insert_countries_rows' ); funkcja mp_insert_countries_rows() { global $wpdb; $mp_insert_country = $wpdb->prefiks . 'kraje'; $insert_country_rows = $wpdb->insert( $mp_insert_country, array( 'id' => '1', 'name' => 'Wielka Brytania', 'labour_cost' => '20', 'overheads' => '0.45', 'profit' => '0.22' ), array( 'id' => '2', 'name' =>'Chiny', 'labour_cost' => '6', 'overheads' => '0.27', 'zysk ' => '0,17')); require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $wstaw_wiersze_krajów ); } Jak mam to poprawić? Dziękuję


title: Czy mogę używać dwóch różnych nazw domen w sieci wielostanowiskowej Wordpress?

text: Obecnie używam serwera DV z MediaTemple i chciałbym, aby moje domeny: abc.com i cba.com były zmapowane na subdomeny, które skonfigurowałem z siecią WP one.mydomain.com i two.mydomain.com. Celem jest zachowanie widoczności adresów URL: abc.com i cba.com w przeglądarce, ale pliki stref odwołują się tylko do skonfigurowanych przeze mnie subdomen. Przepraszam, jeśli to mylące, to jest poważny ból głowy. Każda pomoc byłaby świetna!


title: Personalizacja Walkera - podmenu i opis HTML

text: Pracuję nad witryną utworzoną przez inną osobę, która użyła tego dostosowania do wyświetlania opisu HTML (img) w menu. Teraz chciałbym, aby podstrony były wyświetlane tylko w menu, ale mogę. Ktoś może mi podpowiedzieć, jak to zrobić? Wielkie dzięki


title: Jak dodać pola do _wp_attachment_metadata?

text: Opracowuję `niestandardowy metabox` z możliwością wgrywania obrazów i dający użytkownikowi możliwość decydowania, czy te obrazy mają być wyświetlane w interfejsie użytkownika, czy nie, zamiast ustawiania dodatkowego metaklucza/wartości dla każdego image id, chciałbym dodać pole do istniejącego metaklucza, w którym przechowywane są metadane obrazu `_wp_attachment_metadata` które brzmi 'public' i nadać mu wartość logiczną. Jednym z głównych powodów, dla których nie chcę dodawać innych metakluczy, jest to, że spowoduje to dodatkową pracę przy usuwaniu tych, jeśli obraz zostanie usunięty. Teoria działa dobrze, ale po zapisaniu wp zawija wszystko w tablice i nic nie działa. Poniżej znajduje się kod, który otrzymałem do tej pory, wszelka pomoc lub sugestie są mile widziane. $a = get_post_meta ($thumb_id, '_wp_attachment_metadata' ); // ChromePhp::log('oryginalne _wp_attachment_metadata', $a); $a[0]['image_meta']['public'] = prawda; // ChromePhp::log('zmodyfikowany obiekt', $a); update_post_meta ($thumb_id, '_wp_attachment_metadata', $a); $b = get_post_meta ($thumb_id, '_wp_attachment_metadata' ); // ChromePhp::log('zaktualizowany metaklucz', $b); PS. rzeczy ChromePhp to tylko debugger, którego używam w Chrome (https://github.com/ccampbell/chromephp) Dzięki


title: Zapisywanie identyfikatora posta do wykorzystania w formularzu w innym miejscu na stronie

text: Próbuję zapisać identyfikator określonego posta w zapytaniu, aby przekazać go w formie poza moją pętlą. Być bardziej specyficznym. Mam jeden plik o nazwie **review.php** , ten plik zawiera pętlę Wordpress, która wysyła zapytanie o jeden post na raz. W moim **sidebar.php** mam konfigurację formularza, która będzie wyświetlana tylko wtedy, gdy użytkownik jest aktualnie na stronie **review.php**. Ten formularz powinien przekazywać identyfikator żądanego posta z **review.php** w ukrytym polu. Ten identyfikator będzie później używany do wprowadzania zmian w tym poście po przesłaniu formularza. (Jest to system recenzowania postów) Jak przechowywać identyfikator posta w **review.php**, aby móc później wyświetlić go w moim **sidebar.php**?


title: Wyświetlaj przeszłe wydarzenia w kalendarzu wydarzeń All-in-One

text: Jestem noobem Wordpress, więc potrzebuję pomocy! Pracuję nad stroną internetową programu radiowego i używam kalendarza wydarzeń All-in-One do planowania moich programów. Mam już widok agendy na mojej stronie głównej za pomocą shortcode, więc pokazuje tylko 3 wydarzenia. Na mojej rzeczywistej stronie wydarzenia mam ukryty widok planu dnia i domyślny widok plakatu. To, co chciałbym zrobić, to zachować mój widok agendy na stronie głównej, aby pokazać 3 nadchodzące wydarzenia. Ale chciałbym, aby widok plakatu pokazywał przeszłe wydarzenia, z dnia dzisiejszego iz powrotem. Szukałem wszędzie, ale jak powiedziałem, jestem noobem Wordpress. Znalazłem następujący kod: <?php // Pobiera zlokalizowany czas $time = $ai1ec_events_helper->gmt_to_local( Ai1ec_Time_Utility::current_time() ); $bity = $ai1ec_events_helper->gmgetdate( $czas ); // Ustawia czas rozpoczęcia na dzisiaj $start = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits['year']); // Ustawia czas zakończenia na rok od dzisiaj tj. $bits['year']+1 $end = gmmktime(0,0,0,$bits['mon'],$bits['mday'],$bits[ „rok”]+1); // Zajrzyj do class-ai1ec-calendar-helper.php po szczegóły $get_events = $ai1ec_calendar_helper->get_events_between($start, $end, $filter, $spanning = false); date_default_timezone_set('Ameryka/Toronto'); // Dopasuj ustawienia strefy czasowej w WP // Dla każdego zdarzenia foreach($get_events as $event) { // Identyfikator zdarzenia $eventID = $event->post->ID; // Tytuł wydarzenia $eventTitle = $event->post->post_title; // URL zdarzenia $eventURL = $event->post->guid . $event->instance_id; // Data zdarzenia $eventMonth = date( 'M', $event->start ); $eventDay = data( 'd', $event->start ); // Obraz zdarzenia $imgID = get_post_thumbnail_id( $eventID ); // Czas zdarzenia if( $event->allday == 1 ) { $timeSpan = 'Cały dzień'; } else { $startTime = data( 'g:ia', $event->start ); $endTime = data( 'g:ia', $event->end ); $timeSpan = $startTime . '-'. $czas zakończenia; } $attr = array( 'alt' => get_post_meta( $imgID , '_wp_attachment_image_alt', true ), 'data-name' => $eventTitle, 'data-month' => $eventMonth, 'data-day' => $eventDay, 'data-time' => $timeSpan, 'data-url' => $eventURL ); echo get_the_post_thumbnail( $identyfikator zdarzenia, 'pełny', $atr ); } ?> Wygląda na to, że to byłaby właściwa rzecz, a przynajmniej jest na właściwej ścieżce. Problem polega na tym, że jestem noobem, więc nie wiem, gdzie umieścić ten kod! Jak to zaimplementować? I proszę, przeliteruj mi to, bo jestem noobem. Bardzo dziękuję za wszelką pomoc!


title: Zakoduj suwak w pętli archiwum

text: Utworzyłem niestandardową stronę archiwum dla mojej niestandardowej taksonomii. Chcę, aby każdy post wyświetlał suwak dla swoich obrazów. Wiem, że muszę napisać własny kod do tej pracy, ale nie mogę znaleźć żadnych samouczków, które popchnęłyby mnie we właściwym kierunku. Od czego zacząć, jakie pliki muszę zmienić?


title: Jedna domena, dwie instalacje WordPress

text: Zastanawiam się nad nadchodzącym projektem redesignu istniejącej strony internetowej. Plan jest taki, aby zainstalować jedną instalację WordPressa w domain.com. Obszar administracyjny zostanie zablokowany i będzie dostępny tylko dla osób w sieci organizacji. Istnieje podsekcja witryny, która musi istnieć, aby umożliwić innym osobom spoza organizacji tworzenie i publikowanie treści. Chciałbym skonfigurować oddzielną instalację WordPressa w wielu witrynach pod adresem subdomena.domena.com. Ten multisite byłby zainstalowany z podkatalogami, więc każda witryna będzie znajdować się w subdomain.domain.com/site1 i subdomain.domain.com/site2 itd. O ile czytałem, wszystko to powinno działać poprawnie z WordPress. Powodem, dla którego chcielibyśmy zachować dwie oddzielne instalacje, jest po prostu bezpieczeństwo, więc podstawowa instalacja wordpress na domain.com nie jest w żaden sposób dostępna ze źródeł zewnętrznych. Jestem po prostu ciekaw, czy ktoś ma jakieś doświadczenie z tą konfiguracją lub widzi potencjalne pułapki.


title: Taksonomia Meta Box w profilu użytkownika?

text: Czy jest możliwe, aby użytkownicy wypełniali pola meta taksonomii za pomocą post_tag lub dowolnych niestandardowych taksonomii, które utworzyłem? Pomysł polega na włączeniu użytkowników w sieci do schematu taksonomii, co w lepszy sposób zjednoczyłoby społeczność. Myślę, że bardziej konkretnym sposobem na pytanie jest to, jak dodać meta pola taksonomii do interfejsu użytkownika. Oczywiście wszystko jest możliwe, jeśli zechcę zajść wystarczająco daleko. Czy jest to coś, co można zrobić za pomocą istniejących API WP itp.? Dziękuję.


title: Jak porównać i usunąć hacki do rdzenia?

text: Zostałem odpowiedzialny za witrynę, która ma wiele (i mam na myśli) podstawowe hacki, niektóre są dość łatwe, inne naprawdę trudne do wykrycia (jak usunięcie do_action na `the_content`. Moje pytanie brzmi: jak miałbym i usunąć hacki, które zrobili poprzedni konserwatorzy, dodając nowe wymagane funkcje.Czy powinienem naprawić, gdy tylko je zauważę, czy aktywnie szukać jakiegokolwiek hacka w rdzeniu?(Efekt uboczny hacków rdzenia, nie może zaktualizować wordpressa lub całkowicie się zepsuje i wiele funkcji zostanie „usuniętych” skutecznie odkładając witrynę)


title: Jak ustawić posty na stronę za pomocą WP_Query()

text: Próbuję dynamicznie ustawić liczbę posts_per_page przy użyciu własnej zmiennej. Ten kod działa poprawnie: query_posts( $query_string . "&posts_per_page=" . $myvar ) // następnie wyświetl pętlę za pomocą get_template_part( 'loop' ); To działa dobrze, ale chciałbym wiedzieć, jak to zrobić za pomocą $wp_query zamiast query_posts. To jednak nie działa: $wp_query->set('posts_per_page', $myvar) // następnie wyświetl pętlę za pomocą get_template_part( 'loop' ); Nie ma to wpływu na liczbę wyświetlanych postów. Czy niewłaściwie używam metody ustawiania, czy czegoś mi brakuje?


title: Automatyczne tworzenie użytkowników podczas tworzenia witryny sieciowej

text: Próba wymyślenia, jak automatycznie tworzyć użytkowników podczas tworzenia witryny sieciowej. Tak więc obecnie, gdy rejestruje się nowy użytkownik, tworzone jest jego konto i tworzona jest jego witryna sieciowa. To daje tej nowej witrynie już jednego użytkownika (administrator witryny). Ale kiedy to zostanie utworzone, chciałbym również automatycznie utworzyć 3 dodatkowych użytkowników dla każdej nowej witryny sieciowej podczas tworzenia.


title: Jak uporządkować strony i kategorie według identyfikatora lub nazwy w tym samym zapytaniu?

text: Chciałbym zapytać o większość moich stron i kategorii na stronie głównej. Na razie jestem w stanie uzyskać strony i kategorię (posty), ale nie mogę uporządkować listy tak, jak chcę. Chcę mieć możliwość uzyskania niestandardowego zamówienia, takiego jak strona, posty z kategorii, innej strony i posty z innej kategorii. Używam następującego: <?php $args = array( 'cat' => $current, 'post_type' => array( 'strona', 'post'), 'orderby' => 'ID' && array(2 ,4,1), ); zapytanie_posty( $args ); while ( have_posts()) : the_post(); ?> <?php // Dołącz szablon treści strony. if ( is_page() ): get_template_part( 'treść', 'strona' ); else: get_template_part( 'treść', 'post' ); endif; ?> <?php koniec; ?> przy okazji używam dwadzieścia czternaście i nie chcę mieć wielu zapytań do tej pracy, chyba że nie obciąża to serwera WWW. Chcę jak najbardziej oszczędzać pamięć.


title: pola niestandardowe wordpress

text: Próbuję dodać wartość przypisaną w polu niestandardowym, wykonując wpis w następujących krokach: Tworzę nowy wpis, dodaję nowe pole niestandardowe, w którym określam nazwę i wartość. **PHP** Dodaję następujące skrypty do pętli index.php dokładnie poniżej miejsca, w którym zaczyna się **while** i jego parametr oraz do kodu HTML, w którym chcę dodać pole odpowiednio <?php while ( have_posts() ) : the_post (); ?> <?php the_meta();?> <?php echo get_post_meta(get_the_ID(), 'key');?> Trudno mi zrozumieć, czy robię dobrze, jest HTML. kiedy uruchamiam witrynę za pomocą firefoxa i firebuga, wykrywam post i znajduję html, w którym ma zostać dodane pole. Ale zauważyłem, że WP automatycznie generuje tagi akapitów dla oryginalnego postu, więc szczerze mówiąc nie wiem, gdzie mam dodać get_post_meta, aby został dodany do mojego postu.


title: Kiedy WordPress nie zapewnia pliku .htaccess dla nowych witryn wielostanowiskowych z powodu automatycznego instalatora CPanel Fantastico?

text: Zainstalowałem WordPressa za pomocą autoinstalatora, a później skonfigurowałem go jako wielostanowiskowy. Ale za każdym razem, gdy tworzę witrynę WordPress za pomocą autoinstalatora, domyślnie nie wyświetla mi się plik `.htaccess`. Utworzyłem więc pusty plik o nazwie `.htaccess` w CPanel i wkleiłem do niego ten kod: RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # przesłane pliki RewriteRule ^files/(.+ )wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [LUB] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php [L] Czy to właściwa metoda?


title: Dzielenie się przychodami z reklam wśród użytkowników wielu witryn w modelu współpracy?

text: Czy ktoś wie o niektórych funkcjach dzielenia się przychodami między użytkowników Multisite? Multisite umożliwia innym osobom tworzenie i prowadzenie własnych blogów. Właściciel Multisite powinien mieć możliwość dzielenia się pewnym procentem, powiedzmy N% (np. 20%) przychodów z hostowanych podstron. **Przykład:** > Jesteś właścicielem Multisite na xyz.com i oferujesz blogi swoim > „przyjaciołom” Użytkownik1, Użytkownik2 i tak dalej. Użytkownik1 i Użytkownik2 używają AdSense lub adbrite > na swoim blogu. Funkcjonalność zapewni, że otrzymasz 20% przychodów > oni zarabiają. Widziałem autorską wtyczkę reklamową (wtyczka Wordpress), która dzieli przychody w ramach jednej witryny między wielu autorów. Nie wiem czy obsługuje Multisite bo dla mnie byłoby lepiej. Jeśli mam możliwość dzielenia się przychodami w wielu witrynach. Chciałbym wiedzieć, czy ta wtyczka idealnie pasuje do instalacji Multisite, czy nie.


title: Czy mogę korzystać z AdSense na bezpłatnym blogu wordpress?

text: Czy można korzystać z AdSense na bezpłatnym blogu .wordpress.com? Nie widzę sposobu na zrobienie tego w konfiguracji. Istnieją opcje dodawania widżetów tekstowych itp., ale nic do dodawania?


title: Załaduj nowe posty na Przewiń na stronie

text: Zobacz tę stronę referencyjną: http://alwaysjudging.com/archive/ Podczas przewijania w dół ładowane są nowe posty, podobnie jak w przypadku wtyczki Infinte Scroll. (Ale nie jestem w stanie sprawić, by wtyczka Jetpack Infinite Scroll działała na statycznej stronie „archiwum” za pomocą zapytania o posty, więc zamiast tego zobaczyłem to.) **Jak zaimplementowałbym tę funkcję na stronie?** Kiedy Widzę źródło strony referencyjnej powyżej, pokazuje, że skrypt jest załadowany tutaj: http://alwaysjudging.com/assets/js/scripts.min.js **Wygląda na to, że selektor obejmuje „.post-nav” i tagi ol li.** Jestem front-end developerem, więc moja wiedza na temat pisania JavaScript i PHP jest bardzo ograniczona. Jeśli możesz wyjaśnić, w jaki sposób mogę to wykorzystać do pracy na mojej pojedynczej stronie internetowej, byłoby to bardzo mile widziane. Myślę, że byłoby to również przydatne dla wszystkich osób, które nie mogą używać wtyczki Infinte Scroll do ładowania postów na stronie Archiwum. Dziękuję za wszelkie wskazówki, które możesz zaoferować.


title: Formatowanie fragmentów kodu na bezpłatnym koncie WordPress.com?

text: Mam bloga WordPress na WordPress.com. Kiedy publikuję coś, umieszczam przykładowy kod Java w znacznikach `<code`, czy jest jakiś sposób na lepsze sformatowanie tego? Takie jak podświetlanie składni i numery linii itp.? Przykład tego, co mam, znajduje się tutaj, chociaż mam znaczniki kodu, nie wydaje się, aby był bardziej czytelny niż zwykły tekst. Czy mam ograniczony wybór, ponieważ wybrałem opcję darmową?


title: Nazwa użytkownika została zmieniona na „admin”

text: Podejrzewam incydent włamania na mojej witrynie Wordpress. Moja nazwa użytkownika została zmieniona na „admin”. Jak bezpiecznie przywrócić moją nazwę użytkownika? Dziękuję


title: url - załadowany ajax, ale bez JS

text: Mam ten adres URL, aby wywołać taxonomy.php, naciskając przycisk z kodem poniżej, aby wyświetlić przefiltrowane posty: http://myurl/?meta_key=post_views_count&orderby=meta_value&order=ASC To jest JS, którego używam: $(document). ready(function(){ $.ajaxSetup({cache:false}); $("#hot a").click(function(){ var post_id = $(this).attr("rel") $(". postbox_wrapper").html('<img src="<?php bloginfo ('template_directory'); ?>/images/287.gif">'); $(" .postbox_wrapper").load(jQuery(this).attr("href") + ".postbox_wrapper") return false; }); }); Połączenie działa idealnie - zawartość wyświetla się bez przeładowywania strony - tak jak sobie życzę. Problem polega na tym, że JS nie jest ładowany na stronach załadowanych ajaxem i naprawdę nie mogę go załadować. Wypróbowałem wiele wersji, które znalazłem na stackexchange, ale nic nie wyszło. Na przykład musi to zostać załadowane do wywołania ajaxed: `http://myname.disqus.com/count.js?ver=3.4.1` Czy ktoś ma pomysł? Dziękuję bardzo. OGŁOSZENIE


title: Posortować według postów z wyróżnionym obrazem?

text: Chciałbym posortować posty na stronie indeksu, aby najpierw wyświetlić te, które mają wyróżniony obraz. Zrobiłem to w functions.php: add_filter( 'pre_get_posts', 'my_get_posts' ); function my_get_posts( $query ) { if ( is_home() || is_archive() ) { $query->set('orderby', 'meta_value'); $query->set('meta_key', '_wp_attached_file'); } } Powoduje, że żadne posty nie są wyświetlane na stronie indeksu. Co powinienem tutaj robić?


title: Jak zmienić nazwę „TAG” na „TOPIC”

text: chcę zmienić nazwę TAGu na TOPIC i url powinien to być wordpress.stackexchange.com/tag/ na wordpress.stackexchange.com/topic/ czy to możliwe?


title: Gdzie WordPress przechowuje numer wersji?

text: Proste pytanie. Gdzie przechowuje informacje o wersji WordPress na własnym hostingu?


title: znaki specjalne po zapisaniu wersji roboczej interpretowane jako �

text: Staram się tworzyć posty w języku hindi. Te znaki `UÉeÉMÑüqÉÉU` po zapisaniu/opublikowaniu są interpretowane jako `U�e�M��q��U`. Chociaż znaki specjalne są przechowywane bez zmian w bazie danych mysql. Symbol `�` występuje tylko podczas pobierania. Utknąłem tutaj. Edytor postów został zmodyfikowany tak, aby przyjmował wiele postów. http://www.farinspace.com/multiple-wordpress-wysiwyg-visual-editors/ Próbowałem skomentować te linie w wp-config.php. Ale żaden nie działał. /** Zestaw znaków bazy danych do użycia przy tworzeniu tabel bazy danych. */ define('DB_CHARSET', 'UTF-8'); /** Typ sortowania bazy danych. Nie zmieniaj tego, jeśli masz wątpliwości. */ define('DB_COLLATE', ''); Umieszczono również `mysql_query("SET NAMES utf8");` w konstruktorze klasy wpdb w wpdb.php. Negatywne, nawet to nie zadziałało Jak mam to przezwyciężyć?


title: Jak wyświetlić listę wszystkich niestandardowych typów postów w niestandardowym widżecie?

text:
Wypróbowałem następujące (które zawiera listę niestandardowych typów postów o nazwie Static Content): <?php add_action("widgets_init", array('Widget_name', 'register')); class Widget_name { function control(){ $custom_posts = new WP_Query(); $custom_posts->query('post_type=page_content&page_sections=Ostatni'); while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?>

<a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'dwadzieścia' ), atrybut_tytułu( 'echo=0' ) ); ?>" rel="zakładka"><?php tytuł_(); ?>
 <a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink do %s', 'dwadzieścia' ), the_title_attribute( ' echo=0') ); ?>" rel="zakładka"><?php the_post_thumbnail(); ?>
<?php the_fragment(); ?>

 <?php endwhile; } widget funkcji($args){ echo $args['before_widget']; echo $args['before_title'] . „Tytuł widżetu” . $args['after_title']; echo $args['after_widget']; } function register(){ register_sidebar_widget('Nazwa widżetu', array('Nazwa widżetu', 'Widżet')); register_widget_control('Nazwa widżetu', array('Nazwa widżetu', 'Kontrola')); } } ?> Ale bez powodzenia. W widżecie nic nie jest wyświetlane. Jakieś sugestie?


title: Jak wyświetlić listę niestandardowych typów postów na dodatkowym pasku bocznym?

text:
Mam niestandardowy typ posta o nazwie „Treść statyczna”. Chciałbym wyświetlić te posty w następującym dodatkowym pasku bocznym: **sidebar-secondary:**
 <?php // Drugi pasek boczny dla widżetów, tak po prostu. if ( is_active_sidebar( 'dodatkowy-obszar-widgetów' ) ) : ?>
 <?php dynamic_sidebar( 'dodatkowy-obszar-widgetów' ); ?>
 <?php endif; ?>
 Jakieś sugestie?


title: Jaki hak akcji aktualizuje meta posta?

text: Czy istnieje prosty przykład użycia wp_update_post() do edycji post_meta na interfejsie? Nie udało mi się znaleźć żadnych dobrych materiałów do nauki. To, co chcę zrobić, to wyświetlić meta postu w polu wejściowym i gdy użytkownik kliknie _submit_ wyzwalacz `wp_update_post();`. ![opublikuj meta w polu wprowadzania za pomocą przycisku Zapisz](http://i.stack.imgur.com/uR70A.png) Dzięki!


title: Globalne, ogólnosieciowe skróty lub funkcje zastępowania tekstu

text: To, co staram się osiągnąć, to proste funkcje zamiany tekstu, które byłyby dostępne dla każdej witryny w mojej sieci Wordpress. Zasadniczo chcę: 1. Zmienić `[--]` na `—` (--), 2. Umieć tworzyć linki do moich własnych postów używając tylko ich tytułów -- `[internallink post=title]` lub coś podobnego . Znalazłem prosty przykład rozwiązania tego za pomocą skrótów. Ale nie wiem, gdzie umieścić moją niestandardową definicję krótkich kodów, aby była dostępna dla każdej witryny w mojej sieci Wordpress. Zawsze szukam rozwiązań jak najprostszych, więc chciałbym wiedzieć, czy muszę używać skrótów do rozwiązania tych dwóch zadań, czy: 1. Czy istnieje prosty sposób na zdefiniowanie globalnego mechanizmu wyszukiwania i zamiany, więc każde wystąpienie samego znaku `--` zostałoby zamienione na `—` w dowolnym poście lub na stronie w dowolnej witrynie w sieci? 2. Czy mimo to można zdefiniować globalną funkcję shortcode, która przekształciłaby dowolny `[tytuł posta]` w link wskazujący na post zatytułowany „Tytuł postu”? Z góry dziękuję za jakąkolwiek pomoc?


title: Ostatnie posty z taksonomii niestandardowej

text: Jak mogę opublikować ostatnie posty z custom_taxonomy? Próbowałem tak, ale to nie działa. $terms=get_terms('nazwa_podatku'); $żądanie=tablica(); if(count($terms)>0) { foreach($terms as $t) { $request[]=$t->slug; } } query_posts( array( 'tax_query' => array( 'taxonomy' => 'tax_name', 'field' => 'slug', 'terms' => $request, ) ) ); while ( have_posts() ):the_post();


title: get_stylesheet_uri zwraca nieprawidłową ścieżkę

text: Używam motywu korzeni. Wewnątrz scripts.php arkusze stylów są ładowane za pomocą funkcji wp_enqueue_style. wp_enqueue_style('roots_bootstrap', get_template_directory_uri(). '/assets/css/bootstrap.css', false, null); wp_enqueue_style('roots_bootstrap_responsive', get_template_directory_uri(). '/assets/css/bootstrap-responsive.css', array('roots_bootstrap'), null); wp_enqueue_style('roots_app', get_template_directory_uri() . '/assets/css/app.css', false, null); Próbowałem dodać własny arkusz stylów (style.css, można go znaleźć bezpośrednio w folderze szablonów) w ten sam sposób: wp_enqueue_style('fsc', get_stylesheet_uri(), false, null); Oto wynik: <link href="/wordpress/style.css" rel="stylesheet"> Oczywiście to nie działa. To samo dla części get_template czy blog_info('stylesheet_url') Co ciekawe, inne ścieżki też są błędne: <link href="/wordpress/assets/css/app.css" rel="stylesheet"> Ale arkusze stylów bootstrap są jednak ładowane. Jak to możliwe? Oto htaccess: # BEGIN HTML5 Boilerplate ### ### Zawiera plik HTML5 Boilerplate .htaccess, który można znaleźć pod adresem: ### https:/ /github.com/h5bp/server-configs/blob/master/apache/.htaccess ### ### Dodano: ### Zablokuj dostęp do plików WordPressa, które ujawniają informacje o wersji ### ### Usunięto: ## # Wygasa nagłówki: Użyj W3 Total Cache ### Usunięcie ETag: Użyj W3 Total Cache ### Uruchom silnik przepisywania: obsługiwany przez WordPress ### Wyłącz/wymuś www: Obsługiwany przez WordPress ### Niestandardowa strona 404: Obsługiwana przez WordPress # ## ### Zakomentowane domyślnie: ### Opcje -MultiViews: Powoduje błąd serwera 500r na większości współdzielonych hostów ### ### Za każdym razem, gdy aktualizujesz ten plik, plik .htaccess w katalogu głównym Twojej instalacji ### WordPress jest automatycznie aktualizowany o zmiany za każdym razem, gdy ### permalinki są usuwane lub ustawiane (patrz lib/ htaccess.php) ### # ------------------------------------------ ---------------------------- # Lepsze wrażenia z korzystania z witryny dla użytkowników IE # -------------- -------------------------------------------------- ------ # Wymuś najnowszą wersję IE, w różnych przypadkach, gdy może wrócić do trybu IE7 # github.com/rails/rails/commit/123eb25#commitcomment-118920 # Użyj ChromeFrame, jeśli jest zainstalowany, aby uzyskać lepsze wrażenia dla biednych ludzi z IE <IfModule mod_headers.c> Zestaw nagłówków Zgodny z X-UA "IE=edge,chrome=1" # mod_headers nie może pasować by content-type, ale nie chcemy wysyłać tego nagłówka na *everything*... <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a| m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$"> Nagłówek nieustawiony zgodny z X-UA </FilesMatch> </IfModule> # ----------------------------------------- ----------------------------- # Międzydomenowe żądania AJAX # -------------- -------------------------------------------------- ------ # Obsługuj międzydomenowe żądania Ajax, domyślnie wyłączone. # enable-cors.org # code.google.com/p/html5security/wiki/CrossOriginRequestSecurity # <IfModule mod_headers.c> # Zestaw nagłówków Access-Control-Allow-Origin "*" # </IfModule> # ---- --------------------------------------------------------------------------------- # Obrazy z obsługą CORS (@crossorigin) # --------- -------------------------------------------------- ----------- # Wysyłaj nagłówki CORS, jeśli przeglądarki ich zażądają; domyślnie włączone dla obrazów. # developer.mozilla.org/en/CORS_Enabled_Image # blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html # hacks.mozilla.org/2011/11/using-cors -to-load-webgl-texttures-from-cross-domain-images/ # wiki.mozilla.org/Security/Reviews/crossoriginAttribute <IfModule mod_setenvif.c> <IfModule mod_headers.c> # mod_headers, brak dopasowania według treści- Rodzaj?! <FilesMatch "\.(gif|ico|jpe?g|png|svg|svgz|webp)$"> SetEnvIf Origin ":" IS_CORS Zestaw nagłówków Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch></IfModule> </IfModule> # ----------------------------------------- ----------------------------- # Dostęp do czcionki # ----------------- -------------------------------------------------- --- # Zezwól na dostęp do czcionek internetowych ze wszystkich domen. # Alternatywnie możesz umieścić na białej liście tylko # subdomeny, takie jak „subdomena.example.com”. <IfModule mod_headers.c> <FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$"> Zestaw nagłówków Access-Control-Allow-Origin "*" </FilesMatch> </IfModule> # -------------------------------------------------- -------------------- # Właściwy typ MIME dla wszystkich plików # ---------------------- ------------------------------------------------ # JavaScript # Normalizuj do stanudard type (i tak jest sniffowany w IE) # tools.ietf.org/html/rfc4329#section-7.2 AddType application/javascript js jsonp AddType application/json json # Audio AddType audio/mp4 m4a f4a f4b AddType audio/ogg oga ogg # Wideo AddType video/mp4 mp4 m4v f4v f4p AddType video/ogg ogv AddType video/webm webm AddType video/x-flv flv # SVG # Wymagane w przypadku czcionek internetowych svg na iPadzie # twitter.com/FontSquirrel/status/14855840545 AddType image/svg+ xml svg svgz AddEncoding gzip svgz # Czcionki Web AddType application/font-woff woff AddType application/vnd.ms-fontobject eot AddType application/x-font-ttf ttf ttc AddType font/opentype otf # Różne typy AddType application/octet-stream safariextz AddType application/x-chrome-extension crx AddType application/ x-opera-extension oex AddType application/x-shockwave-flash swf AddType application/x-web-app-manifest+json webapp AddType application/x-xpinstall xpi AddType application/xml rss atom xml rdf AddType image/webp webp AddType image /x-icon ico AddType text/manifest pamięci podręcznej appcache manifest AddType text/vtt vtt AddType text/x-component htc AddType text/x-vcard vcf # ----------------------------------- ----------------------------------- # Zezwalaj na konkatenację z określonych plików js i css # ---- -------------------------------------------------- ----------------                      # np. Wewnątrz script.combined.js możesz mieć # <!--#include file="libs/jquery-1.5.0.min.js" --> # <!--#include file="plugins/jquery.idletimer .js" --> # i zostałyby dołączone do tego pojedynczego pliku. # To nie jest używane w kotłach w obecnym stanie. Możesz # użyć tej techniki, jeśli nie masz procesu kompilacji. #<FilesMatch "\.combined\.js$"> # Opcje +Zawiera # AddOutputFilterByType INCLUDES application/javascript application/json# SetOutputFilter INCLUDES #</FilesMatch> #<FilesMatch "\.combined\.css$"> # Opcje +Zawiera # AddOutputFilterByType INCLUDES text/css # SetOutputFilter INCLUDES #</FilesMatch> # ---------- -------------------------------------------------- ---------- # Kompresja Gzip # ------------------------------------ ---------------------------------- <IfModule mod_deflate.c> # Wymuś deflate dla zniekształconych nagłówków developer.yahoo. com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/ <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{ 15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader dołącz Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # Kompresuj wszystkie dane wyjściowe oznaczone jednym z następujących typów MIME # (dla wersji Apache poniżej 2.3.7, nie musisz włączać `mod_filter` # i może usunąć linie `<IfModule mod_filter.c>` i `</IfModule>`, ponieważ # `AddOutputFilterByType` nadal znajduje się w podstawowych dyrektywach) <IfModule mod_filter.c> AddOutputFilterByType DEFLATE application/atom+xml \ application/javascript \aplikacja/json\aplikacja/rss+xml\aplikacja/vnd.ms-fontobject\aplikacja/x-font-ttf\aplikacja/xhtml+xml \ application/xml \ font/opentype \ image/svg+xml \ image/x-icon \ text/css \ text/html \ text/plain \ text/x-component \ text/xml </IfModule> </IfModule> # ------------------------------------------------- ------------------------- # Zablokuj dostawcom sieci komórkowych możliwość modyfikowania Twojej witryny # --------------- -------------------------------------------------- ----- # Poniższy nagłówek uniemożliwia modyfikację twojego kodu over 3G u niektórych # europejskich dostawców. # To jest oficjalne 'obejście' sugerowane przez O2 w Wielkiej Brytanii. # <IfModule mod_headers.c> # Zestaw nagłówków Cache-Control "no-transform" # </IfModule> # -------------------------- -------------------------------------------- # Zatrzymaj migotanie ekranu w IE na najazdach CSS # ---------------------------------------------- ------------------------ # Poniższe dyrektywy zatrzymują migotanie ekranu w IE podczas najazdów CSS - # w połączeniu z regułami "ExpiresByType" dla obrazów (zobacz nad). # BrowserMatch "MSIE" brokenvary=1 # BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1 # BrowserMatch "Opera" !brokenvary # SetEnvIf brokenvary 1 force-no-variy # ------ ---------------------------------------------------------------- # Ustaw nagłówek Keep-Alive # -------------------------- -------------------------------------------- # Keep-Alive umożliwia serwer do wysyłania wielu żądań przez jedno # połączenie TCP. Zwróć uwagę na możliwe wady tego ustawienia. Włącz #, jeśli udostępniasz dużo treści statycznych. # <IfModule mod_headers.c> # Zestaw nagłówków Connection Keep-Alive # </IfModule> # ------------------------------ ---------------------------------------- # Ustawienia plików cookie z ramek iframe # ---- -------------------------------------------------- ---------------- # Zezwól na ustawianie ciasteczek z ramek iframe (tylko dla IE) # W razie potrzeby określ ścieżkę lub wyrażenie regularne w dyrektywie Location. # <IfModule mod_headers.c> # Zestaw nagłówków P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi JEGO NASZE CNT CNT\"" # </IfModule> # ----------- -------------------------------------------------- --------- # Wbudowane pomijanie pamięci podręcznej oparte na nazwach plików # ------------------------------- --------------------------------------- # Jeśli nie używasz skryptu budowania do zarządzaj wersją pliku revving, # warto rozważyć włączenie tej opcji, która przekieruje żądania dla # `/css/style.20110203.css` do `/css/style.css`. # Aby zrozumieć, dlaczego jest to ważne i lepszy pomysł niż all.css?v1231, # zapoznaj się z dołączoną dokumentacją dotyczącą `.htaccess`.# <IfModule mod_rewrite.c> # RewriteCond %{REQUEST_FILENAME} !-f # RewriteCond %{REQUEST_FILENAME} !-d # RewriteRule ^ (.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1,$3 [L] # </IfModule> # ----------------------- ----------------------------------------------- # Blokuj SSL ostrzeżenia certyfikatu # ----------------------------------------------- ----------------------- # Poprawnie przepisuj bezpieczne żądania, aby zapobiec ostrzeżeniom certyfikatu SSL, np. zapobiegaj # https://www.example.com, gdy twój certyfikat zezwala tylko na https://secure.example.com # <IfModule mod_rewrite.c> # RewriteCond %{SERVER_PORT} !^443 # RewriteRule ^ https://example- domena-proszę-zmień-me.com%{REQUEST_URI} [R=301,L] # </IfModule> # ------------------------ ---------------------------------------------- # Wymuś klienta- boczne przekierowanie SSL # ---------------------------------------------- ------------------------ # Jeśli użytkownik types "example.com" w swojej przeglądarce, powyższa reguła przekieruje ją # do bezpiecznej wersji strony. To wciąż pozostawia okno możliwości # (początkowe połączenie HTTP) dla atakującego, aby obniżyć lub przekierować żądanie #. Poniższy nagłówek gwarantuje, że przeglądarka **tylko** połączy się # z Twoim serwerem przez HTTPS, niezależnie od tego, jaki użytkownik wpisze w pasku adresu. # <IfModule mod_headers.c> # Zestaw nagłówków Strict-Transport-Security max-age=16070400; # </IfModule> # -------------------------------------------- -------------------------- # Zapobiegaj błędom 404 dla nieistniejących przekierowanych folderów # ------------- -------------------------------------------------- ------- # bez -MultiViews, Apache poda błąd 404 do przepisania, jeśli folder o # tej samej nazwie nie istnieje.# webmasterworld.com/apache/3808792.htm # Opcje -Multiwidoki # ----------------------------------- ----------------------------------- # Kodowanie UTF-8 # --------- -------------------------------------------------- ----------- # Użyj kodowania UTF-8 dla wszystkiego, co podaje tekst/zwykły lub tekst/html AddDefaultCharset utf-8 # Wymuś UTF-8 dla wielu formatów plików AddCharset utf-8 .atom .css .js .json .rss .vtt .xml # --------------------------------------- ------------------------------- # Trochę większe bezpieczeństwo # ------------- -------------------------------------------------- ------- # Aby uniknąć wyświetlania dokładnego numeru używanej wersji Apache, dodaj # następujące do httpd.conf (nie będzie działać w .htaccess): # ServerTokens Prod # "-Indeksy" będzie blokowaćużytkownikom Apache możliwość przeglądania folderów bez # domyślnego dokumentu Zwykle należy pozostawićto włączone ponieważ nie powinno sięuzwalaćwszystkim # na przeglądanie wszystkich folderów na serwerze (który # zawiera raczej prywatne miejsca jak foldery systemu CMS). <IfModule mod_autoindex.c> Opcje -Indeksy </IfModule> # Blokuj dostęp do "ukrytych" katalogów lub plików, których nazwy zaczynają się # kropką. Obejmuje to katalogi używane przez systemy kontroli wersji, takie jak # Subversion lub Git. <IfModule mod_rewrite.c> RewriteCond %{SCRIPT_FILENAME} -d [LUB] RewriteCond %{SCRIPT_FILENAME} -f RewriteRule "(^|/)\." - [F] </IfModule> # Blokuj dostęp do kopii zapasowych i plików źródłowych. Te pliki mogąbyć pozostawione przez # niektóre edytory tekstu/html i stwarzać wielkie zagrożenie bezpieczeństwa, gdy każdy # może uzyskać do nich dostęp. <FilesMatch "(\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|swp)|~)$"> Zamów zezwolenie, odmów Odmów wszystkim Spełnij wszystkie </FilesMatch> # Jeśli Twój serwer nie jest jeszcze skonfigurowany jako taki, poniższa dyrektywa # powinna zostać odkomentowana, aby ustawić opcję register_globals na OFF. # To zamyka główną lukę w zabezpieczeniach, która jest wykorzystywana przez większość ataków XSS (cross-site # scripting). Więcej informacji: http://php.net/register_globals # # JEŚLI DYREKTYWA REGISTER_GLOBALS POWODUJE 500 BŁĘDÓW WEWNĘTRZNYCH SERWERA: # # Twój serwer nie pozwala na ustawianie dyrektyw PHP przez .htaccess. W tym przypadku # musisz dokonać tej zmiany w swoim php.ini file zamiast tego. Jeśli korzystasz z # komercyjnego hosta internetowego, skontaktuj się z administratorami, aby uzyskać pomoc w # zrobieniu tego. Nie wszystkie serwery zezwalają na lokalne pliki php.ini i powinny # zawierać wszystkie konfiguracje PHP (nie tylko tę), w przeciwnym razie # zresetujesz wszystko do domyślnych ustawień PHP. Odwiedź www.php.net, aby uzyskać bardziej szczegółowe # informacje o ustawianiu dyrektyw PHP. # php_flag register_globals Wyłączone # Zmień nazwę pliku cookie sesji na inną niż PHPSESSID # php_value session.name sid # Wyłącz magiczne cytaty (Ta funkcja została PRZESTARZAŁA od PHP 5.3.0 i USUNIĘTA od PHP 5.4.0.) # php_flag magic_quotes_gpc Wyłącz # Nie pokazuj, że używasz PHP # Uwaga: Przenieś tę linię do php.ini, ponieważ nie będzie działać w .htaccess # php_flag execute_php Wyłącz # Lpoziom szczegółowości logu - loguj wszystkie błędy # php_value error_reporting -1 # Zapisuj błędy do pliku logu # php_flag log_errors Włącz # Nie wyświetlaj błędów w przeglądarce (produkcja - Wyłącz, programowanie - Włącz) # php_flag display_errors Wyłącz # Nie wyświetlaj błędów uruchamiania ( production - Off, development - On) # php_flag display_startup_errors Off # Błędy formatu w zwykłym tekście # Uwaga: Zostaw to ustawienie 'On' dla wyjścia var_dump() xdebug # php_flag html_errors Wyłącz # Pokaż wielokrotne wystąpienie błędu # php_flag ignore_repeated_errors Wyłącz # Pokaż to samo błędy z różnych źródeł # php_flag ignore_repeated_source Wyłączone # Limit rozmiaru komunikatów o błędach # php_value log_errors_max_len 1024 # Nie poprzedzaj error z ciągiem (nie akceptuje pustych ciągów, użyj spacji, jeśli potrzebujesz) # php_value error_prepend_string " " # Nie dołączaj do błędu (nie akceptuje pustych ciągów, użyj spacji, jeśli potrzebujesz) # php_value error_append_string " " # Zwiększ bezpieczeństwo plików cookie <IfModule mod_php5.c> php_value session.cookie_httponly true </IfModule> # END HTML5 Boilerplate # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteRule ^assets /css/(.*) /wordpress/wp-content/themes/fsc/assets/css/$1 [QSA,L] RewriteRule ^assets/js/(.*) /wordpress/wp-content/themes/fsc/assets /js/$1 [QSA,L] RewriteRule ^assets/img/(.*) /wordpress/wp-content/themes/fsc/assets/img/$1 [QSA,L]RewriteRule ^plugins/(.*) /wordpress/wp-content/plugins/$1 [QSA,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L] </IfModule> # KONIEC WordPress To jest htaccess.php, o którym mówiłem: <?php /** * Dodaj .htaccess HTML5 Boilerplate przez WordPress */ function roots_add_h5bp_htaccess($content) { globalne $wp_rewrite; $home_path = function_exists('get_home_path') ? get_home_path() : ABSPATH; $htaccess_file = $home_path . '.htaccess'; $mod_rewrite_enabled = function_exists('got_mod_rewrite') ? got_mod_rewrite() : fałsz; if ((!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks()) || is_writable($htaccess_file)) { if ($mod_rewrite_enabled) { $h5bp_rules_file TM($ht_accessPłyta kotła L5'); if ($h5bp_rules === array()) { $filename = dirname(__FILE__) . '/h5bp-htdostęp'; return insert_with_markers($htaccess_file, 'HTML5 Boilerplate', extract_from_markers($filename, 'HTML5 Boilerplate')); } } } return $treść; } if (current_theme_supports('h5bp-htaccess')) { add_action('generate_rewrite_rules', 'roots_add_h5bp_htaccess'); }


title: Wstawianie nad szablonem komentarza

text: Chcę wstawić treść tuż nad szablonem komentarza. Wypróbowałem wszystkie filtry i haczyki do prasy, ale nie udało mi się. Chcę wstawić treść nad szablonem komentarza, mam na myśli przede wszystkim komentarze. Dzięki funkcji EDYTUJ my_fields() { echo '<p>akcja/p>'; } add_action('comment_notes_before','moje_pola'); Proszę zobaczyć obrazek-Chcę wstawić treść w kolorowej części obrazu w single.php ![wpisz tutaj opis obrazka](http://i.stack.imgur.com/YMNWo.png)


title: Śledzenie komentarzy Disqus w Google Analytics

text: Używam Disqus do komentarzy na moim blogu i Google Analytics do śledzenia użytkowników. Oba zaimplementowałem za pomocą wtyczek (Disqus Comment System i Google Analyticator). Chciałbym śledzić komentarze, ale nie wiem, jak to zrobić. Zbadałem problem i istnieje dokumentacja na ten temat, ale nie jest ona zbyt jasna. Do tej pory znalazłem pomoc od samych Disqus (tutaj) i On Digital (tutaj), więc teraz wiem, jaki kod dodać. Nie wspominają o tym, gdzie to dodać. Czy wstawić go do jednego z plików wtyczki Disqus? Mój motyw? Który plik i gdzie?


Musisz wywołać tę funkcję php w oknie modalnym z widżetu tekstowego paska bocznego <?php echo get_post_meta( $post->ID, 'link', true ); ?>


title: Umieść pole taksonomii pod edytorem w niestandardowym typie postu

text: Jak przenieść niestandardową taksonomię pod edytor? Mam meta pole o nazwie szczegóły właściwości i chcę, aby taksonomia pojawiła się pod nim. Dodaję go za pomocą poniższego kodu. Nie chcę, aby pojawiała się po prawej stronie, jak to ma miejsce domyślnie. function add_custom_taxonomies() { // Dodaj nową taksonomię "Lokalizacje" do postów register_taxonomy('features', 'property_lettings', array( // Hierarchiczna taksonomia (jak kategorie) 'hierarchical' => true, // Ta tablica opcji kontroluje etykiety wyświetlane w interfejsie użytkownika WordPress Admin 'labels' => array( 'name' => _x( 'Funkcje', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Funkcja', 'nazwa pojedyncza taksonomii' ), 'search_items' => __( 'Wyszukaj funkcję' ), 'all_items' => __( 'Wszystkie funkcje' ), 'parent_item' => __('Cecha nadrzędna' ), 'parent_item_colon' => __( 'Cecha nadrzędna: ' ), 'edit_item' => __( 'Edytuj funkcję' ), 'update_item' => __( 'Aktualizuj funkcję' ), 'add_new_item' => __( 'Dodaj nową funkcję' ), 'new_item_name' => __( 'Nazwa nowej funkcji' ), 'menu_name' => __( 'Funkcje' ), ), // Kontroluj informacje używane dla tego taksonu omy 'rewrite' => array( 'slug' => 'features', // To kontroluje bazowy slug, który będzie wyświetlany przed każdym terminem 'with_front' => false, // Nie wyświetlaj bazy kategorii przed "/locations /" 'hierarchical' => true // Zezwala to na adresy URL typu "/locations/boston/cambridge/" ), )); } add_action( 'init', 'add_custom_taxonomies', 0 );


title: Witryna Wordpress przestała działać po otwarciu pliku header.php w edytorze wp-admin

text: Otworzyłem `header.php` w edytorze wp-admin i nagle właściwa strona jest wypełniona znakami zapytania w kształcie rombu. Obszar administracyjny nadal działa. Dziwne jest to, że nawet nie dokonałem żadnych zmian w pliku. Właściwie Wordpress powiedział mi, że ten plik musi mieć możliwość zapisu, zanim będę mógł zapisać w nim zmiany... Co u licha mogło się tutaj stać?


title: Dołącz plik do posta

text: Chciałbym dołączyć plik ZIP do każdego posta, który piszę na moim blogu. Chciałbym znaleźć wtyczkę, która zrobi te rzeczy: 1- **Wstaw do edytora postów** takie pole, które pozwoli mi wgrać plik. 2- Automatycznie wstaw **na dole każdego posta** pole, które pozwoli czytelnikowi pobrać załączony przeze mnie plik.


title: Tworzenie zespołów użytkowników w Wordpress

text: Obecnie pracuję nad projektem uniwersyteckim, którym jest strona internetowa do zarządzania wydarzeniem GameJam, które odbywa się co 6 miesięcy. Nasi użytkownicy będą w zespołach liczących od 1 do 4 osób i będą mogli publikować na naszej stronie na żywo przez 48 godzin o rozwoju swojej gry. W zeszłym roku korzystaliśmy z prostego bloga wordpress i powiedzieliśmy naszym użytkownikom, aby nie publikowali w innych kategoriach, ale w tym roku jest coraz większy i chcemy więcej ograniczeń. Zrobiłem wtyczkę, która obsługuje niestandardowe typy postów, ale zastanawiam się, jak zintegrować "Teams" z systemem ról wordpress. Stworzyłem nową rolę, którą jest „gamejam_user”. Niestandardowy post ma następujące możliwości: 'capability_type' => 'teams_post', 'capabilities' => array( 'delete_others_posts' => 'delete_others_teams_posts', 'delete_post' => 'delete_teams_post', 'delete_others_posts' 'delete_private_posts' => 'delete_private_teams_posts', 'delete_published_posts' => 'delete_published_teams_posts', 'edit_others_posts' => 'edit_others_posts_posts', '> 'edit_posts', 'edit_posts', 'edit_others_posts' => 'edit_others_posts_posts', '> 'edit_post' 'edit_private_teams_posts', 'edit_published_posts' => 'edit_published_teams_posts', 'publish_posts' => 'publish_teams_posts', 'read_private_posts' => 'read_private_teams_posts', 'read_posts' => 'read_teams_posts' ), Ale teraz po prostu nie jestem pewien, jak zintegruję system zespołowy, ponieważ zespoły nie mogą edytować postów innych zespołów, ale użytkownicy w określonym zespole mogą edytować inne posty w tym samym zespole. Prostym sposobem może być zmuszenie użytkowników do utworzenia jednego konta dla swojego zespołu i używania tylko tego konta, ale nie tego szukamy, nasze następne wydarzenie jest za tydzień, więc prawdopodobnie tak zrobimy, ale od tego czasu to 2 wydarzenia rocznie, z pewnością będę potrzebować sposobu, aby to osiągnąć za pomocą wtyczki. Uwaga: tworzenie zespołu dotyczy tylko zaplecza, zespoły mogą mieć własną stronę z pętlą własnych postów umieszczoną na dole strony (można to zrobić za pomocą haczyka dla każdego posta, jeśli zespoły były niestandardowymi typami postów, ale jak to powiedzieć wordpress niestandardowy typ postu to także grupa użytkowników? A jak możemy stworzyć nową funkcję, która mówi, że możesz edytować inne posty, ale tylko te od osób z Twojego zespołu?). Dowolny pomysł?


title: wp_set_post_terms przypisuje tylko ostatnie z kilku warunków do postu

text: Mam naprawdę prostą konfigurację, w której przechodzę przez tablicę aktorów i dla każdego nazwiska aktora pomyślnie wstawiam termin. Następnie używam wp_set_post_terms do przypisania warunków do postu, ale to przypisuje tylko ostatni termin do tego postu. Jestem nowy w używaniu taksonomii/terminów, więc może istnieje oczywiste rozwiązanie. Oto mój kod: foreach ($cast as $actor) { $actor_term_id = wp_insert_term( $actor[name], 'actor', array( 'description' => $bio[0]["desc"]) ); // Przypisz identyfikator terminu do postu wp_set_post_terms( $post_id, $actor_term_id, 'actor' ); }


title: Słownik alfabetyczny Wordpress Zamknij div w pętli

text:
napisałem ten fragment kodu, aby utworzyć słowniczek alfabetyczny i działa, ale jest jeden problem. Nie wiem, jak mogę zakończyć serię postów tą samą pierwszą literą. Ten kod sprawdza pierwszą literę drugiego słowa (dotyczy to mojego projektu), a następnie tworzy nagłówek z tą pierwszą literą i umieszcza pod nią wszystkie pasujące wiersze. Ale potem chcę zamknąć ten zestaw za pomocą `</div>` (i oczywiście najpierw go otworzyć). Ale jeśli umieszczę close div w mojej pętli, kod umieści `</div>` po każdym wierszu. Więc potrzebuję czegoś, co mówi: Zamknij div po ostatniej linii z pasującą pierwszą literą. A następnie otwórz nowy div i zrób to ponownie. Mam nadzieję, że rozumiesz, czego potrzebuję. Dziękuję Ci. <?php $obj = get_queried_object(); $post_type = $obj->nazwa; $args = array( 'post_type' => $post_type, 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => 20, ); zapytanie_posty($args); if (have_posts()) : $curr_letter = ''; while (have_posts()) : the_post(); $tytuł = pobierz_tytuł(); $title_array = rozbij(' ', $title); $drugie_słowo = $tablica_tytułu[1]; $ta_litera = substr($drugie_słowo, 0, 1); if ($ten_list != $aktual_list) { $bież_list = $ten_list; ?> <div id="sort-<?php echo strtolower($ten_list); ?>" class="alpha_title"> <?php echo $ten_list; ?>
 <?php } ?> <a href="<?php the_permalink(); ?>"><?php echo $second_word; ?> <?php endwhile; endif; ?>


title: Jak zmienić pozycję selektora języka (rozwijane menu qtranslate)

text:
Używam Qtranslate do zarządzania tłumaczeniami na mojej stronie internetowej. Działa tak, jak powinien, ale ze względów stylizacyjnych chciałbym zmienić pozycję selektora języka. To jest teraz pozycja: ![header](http://i.stack.imgur.com/ESapO.png) Używając tego kodowania:
 <?php echo do_shortcode($top_bar_social_icons); ?>

<?php echo qtrans_generateLanguageSelectCode('dropdown'); ?>

  Co mogę zrobić, aby przesuwał się w lewo lub w prawo od ikon mediów społecznościowych?


title: Kroki debugowania przy pustej, ekranowanej instalacji wordpress

text: Dostałem starą instalację Wordpressa do ustawienia na nowym serwerze. Po ustawieniu **wp-config.php** i wartości adresów URL w db, **wp_options.siteurl** i **wp_options.home** (zwykły proces, który robię dla czegoś takiego) po prostu dostaję pusty ekran w Safari, w Chrome otrzymuję > Witryna napotkała błąd podczas pobierania http://nazwa.domeny/. Może > być wyłączony z powodu konserwacji lub nieprawidłowo skonfigurowany. Mam dostęp do http://domain.name/wp-admin i ładuje się początkowa strona powitalna logowania. Ale naciśnięcie logowania powoduje błąd podobny do tego, co dzieje się podczas uzyskiwania dostępu do strony głównej. Wygląda na to, że dla tej konfiguracji jest _dużo_ zainstalowanych wtyczek. Zastanawiasz się, jakie byłyby najlepsze kroki, aby dowiedzieć się, jakie byłyby źródła tego problemu. Próbowałem włączyć debugowanie w konfiguracji, robiąc to, ale nic to nie daje. Myślę, że coś mówi witrynie, aby przekierowała gdzieś blisko początku wszystkiego: if ( isset($_GET['debug']) && $_GET['debug'] == 'debug') define('WP_DEBUG', true) ;


title: Logowanie administratora nie działa

text: Nie mogę zalogować się jako administrator na mojej witrynie Wordpress. Próbowałem zmienić hasło i kilka innych rzeczy, ale bez rezultatu. Co się dzieje, to wracam do strony logowania, bez wiadomości. Dziwne jest to, że mogę się zalogować jako inny użytkownik, ale wtedy nie mam uprawnień, których potrzebuję. Sprawdziłem pliki dziennika PHP i nic tam nie mogę znaleźć. Próbowałem przejść w trybie prywatnym, ale to też nie działa. Sugestie, co powinienem spróbować?


title: Jaki jest najlepszy sposób eksportowania i importowania opcji motywu?

text: Więc jaki jest najlepszy sposób na utworzenie funkcji eksportu i importu, spróbowałem `serialize()` i `urlencode()` na tablicy opcji do użycia w adresie URL, jak na przykład: `export.php?data=(long string)` i użyj metody $_GET w pliku export.php, która wymusza pobieranie przy użyciu nagłówków, ale to nie jest dobry pomysł, ponieważ tablica jest bardzo duża. więc jaki jest najlepszy sposób na eksportowanie i importowanie opcji motywu?


title: Uporządkuj witrynę WordPress, aby mogła być utrzymywana z ogromną bazą danych

text: ## Intro: Witam, tworzę stronę z kuponami i potrzebuję porady. Tak więc struktura w tej chwili wygląda następująco: 1. Kupony ( posty ) 2. Kategorie kuponów ( kategorie ) 3. Sklepy ( tagi ) W niedalekiej przyszłości moja baza danych będzie się składać z około ~5000 sklepów ( tagów ) i ~20000 kupony ( posty ) oraz ~10000 kategorii kuponów ( koty ). Niedługo dodam też oferty na stronę, więc to też może być brane pod uwagę. ## Pytanie: Jak najlepiej zorganizować taką stronę, aby po tak dużej ilości wpisów w bazie działała bez zarzutu? Czy powinienem używać **Typy postów niestandardowych** dla którejkolwiek z moich taksonomii? Dziękuję Ci


title: Zmiana z menu podstawowego na niestandardowe zmienia układ nawigacji w CSS

text:
Potrzebuję pomocy w ustaleniu mojego głównego paska nawigacyjnego. Stworzyłem go z domyślnym hakiem nawigacyjnym, ale teraz chcę mieć możliwość ukrywania stron, aby nie pojawiały się w głównej nawigacji. Jednak za każdym razem, gdy dodaję nową stronę, automatycznie pojawia się ona w nawigacji (ale nie chcę tego, tak jak w przypadku Galerii 2009, Galerii 2010 i Galerii 2011 w zakładce GALERIA.) To jest moja strona internetowa To jest kod I miał w pliku header.php
 <?php /* Zezwalaj czytnikom ekranu/przeglądarkom tekstowym na pomijanie menu nawigacji i od razu do dobrych rzeczy */ ?>
<a href="#content" title="<?php esc_attr_e( 'Przejdź do treści', 'dwadzieścia' ); ?>"><?php _e( 'Pomiń do treści', 'dwadzieścia' ); ?>
 <?php /* Nasze menu nawigacyjne. Jeśli nie jest wypełnione, wp_nav_menu wraca do wp_page_menu. Menu przypisane do pozycji podstawowej jest tym, które jest używane. Jeśli żaden nie jest przypisany, używane jest menu o najniższym identyfikatorze. */ ?> <?php wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) ); ?>
 Co daje mi świetnie wyglądającą nawigację. ![tutaj podaj opis obrazu](http://i.stack.imgur.com/iG2Q7.png) Teraz próbowałem to zastąpić tym
 <?php wp_nav_menu (array('menu' => 'Główne')); ?>
 A wszystko, co otrzymuję, to ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/WzfzN.png) To jest CSS dla moje menu #dostępu #dostęp { tło: url(http://www.fhlsociety.ca/img/FHL-extras.jpg) bez powtórzeń; pozycja w tle: 0px -236px; Blok wyświetlacza; margines: 0 auto; szerokość: 940px; wysokość: 100px; dopełnienie lewe: 30px; transformacja tekstu: wielkie litery; margines-dolny: 20px; } #dostęp .menu-header, div.menu { font-size: 1.2em; margines lewy: 30px; szerokość: 900px; wysokość: 60px; } #dostęp do { kolor: #aaa; Blok wyświetlacza; wysokość linii: 100px; dopełnienie: 0 10px; dekoracja tekstu: brak; } #dostęp a:najechanie { kolor: #fff; } #dostęp ul ul a { tło: #f3f3f3; wysokość linii: 1em; wypełnienie: 10px; szerokość: 160px; wysokość: auto; margines górny: 30px; } #access li:hover > a, #access ul ul :hover > a { color: #333; tło: brak; } #access ul li:hover > ul { display: block; } /*#access li:hover > a, #access ul ul :hover > a { background-color: #990000; obramowanie-promień: 5px 5px 5px 5px; kolor: #C7BD89; margines: 0 auto; wysokość: 20px; dopełnienie: 8px 17px; } #access ul li:hover > ul { display: block; A {         kolor czerwony; } Czego jeszcze mi brakuje? Albo dlaczego nie ma już mojej stylizacji? Każda pomoc jest mile widziana!


title: Produkty do postów użytkownika WordPress

text: Chcę zbudować stronę internetową dla projektu spełniającego następujące wymagania: 1. Każdy użytkownik może się zarejestrować 2. Może publikować produkt wybierając kategorię, tagi i przesyłając zdjęcia 3. Użytkownicy mogą komentować produkty 4. Użytkownicy mogą oceniać produkt 5. Użytkownicy mogą przeglądać wszystkie opublikowane przez siebie produkty, edytować lub usuwać produkt. Masz pomysł na wtyczkę lub zestaw wtyczek, których mogę użyć, aby to osiągnąć?


title: Nawigacja strony nie działa ze strukturą permalink

text: Wyświetlam listę pracowników korzystających z mojej niestandardowej wtyczki. Moja struktura linków bezpośrednich to `%category%%postname%/` Moja nawigacja po stronie wyglądała jak `http://www.example.com/emp/?page=2` i do tej pory działała dobrze. Ale teraz przepisuje adres URL, taki jak `http://www.example.com/emp/2/`. Przeczytałem Using Permalinks i wypróbowałem rozwiązanie pustego pliku `.htaccess` i wygenerowałem go ponownie, ale nadal otrzymuję ten sam adres URL `http://www.example.com/emp/2/`. Myślę, że ten problem występuje, ponieważ zaktualizowałem wordpress z 3.3.2 do 3.4. Czy ktoś ma jakiś pomysł, jak to rozwiązać?


title: Wstaw/zaktualizuj wartości do tabeli po zaktualizowaniu opcji nazwy bloga itp.

text: Próbuję zaktualizować do innej tabeli wartości nazwa bloga, opcje opisu bloga, gdy użytkownik zaktualizował je ze strony Ustawienia ogólne. Używam tego kodu, $hook_array = array('update_option_blogname','update_option_admin_email','update_blogdescription','update_option_home','update_option_siteurl'); foreach($hook_array as $hook) { add_action($hook, 'moja_funkcja', 10, 1); } function my_functione($arg) { global $wpdb; $the_id = get_current_blog_id(); $nazwa bloga = get_option('nazwa bloga'); $blogdescr = get_option('pełny opis bloga'); $wp_blogs_info = $wpdb->base_prefix . "informacje o blogach"; $wpdb->query("UPDATE". $wp_blogs_info. "SET site_title=".$blogname.", site_description=".$blogdescr." gdzie blog_id = '" . (int)$the_id . "'"); } Oto tabela, blog_id int NOT NULL, country_id int(3) NOT NULL, site_title varchar(64) NOT NULL, site_description varchar(64) NOT NULL, site_tags varchar(64) NOT NULL, PRIMARY KEY (blog_id) Jednak nie aktualizuje się, chociaż istnieje wartość z identyfikatorem blog_id bieżącego bloga. Proszę o pomoc.


title: Usuń shortcode z określonych typów postów (formatów)

text: Próbuję usunąć shortcode z określonego typu postu, w tym przypadku linku. Użyłem tego kodu w moim functions.php, ale usuwa on krótki kod z the_content dla każdego typu postu. <?php function remove_shortcodes( $zawartość ) { return strip_shortcodes( $zawartość ); } add_filter( 'zawartość', 'usuń_skróty' ); czy można to zmodyfikować, aby usunąć tylko krótki kod z typu postu „Link”? Dziękuję


title: problem z zawijaniem lub permalinkami

text: Właśnie skonfigurowałem mój VPS, używam Centos, wszystko działa dobrze, ale jeśli ustawiam moje permalinki na strukturę niestandardową, akceptuję stronę główną, żaden z postów nie pojawia się, pokazuje mi stronę 404, myślę, że to dlatego, że nie t włączony curl, ale nie wiem, gdzie jest mój plik php.ini w moich centach? OK, mój curl jest włączony, sprawdziłem to przez `phpinfo();` Oto adres URL `http://74.117.158.182/info.php` Ale jeśli ustawię jakiekolwiek permalinki w moim wordpressie, a następnie zaakceptuję stronę główną, wszystkie są dając mi strony 404 Możesz to sprawdzić pod tym adresem URL http://mbas.co.in Jeśli ustawię permalink jako domyślny, strony są ładowane bez żadnego 404 Nie wiem w czym problem, ponadto w moim poście -treść się nie ładuje, Pojawia się tylko tytuł posta, ale brakuje części z treścią, LOG BŁĘDÓW MOJEGO APACHE > [Wt Lut 01 15:22:47 2011] [Uwaga] włączony mechanizm suEXEC (wrapper: > /usr/sbin /suexec) > [Wto Lut 01 15:22:47 2011] [Ogłoszenie] Podsumowanie: generowanie sekretu do skrótu > uwierzytelnianie ... > [Wto Lut 01 15:22:47 2011] [Wskazówka] Podsumowanie: gotowe > [Wt 01 lutego 15:22:47 2011] [uwaga] Apache/2.2.3 (CentOS) skonfigurowany --> wznawianie normalnych operacji > [Wto 01 lutego 15:22:51 2011] [błąd] [klient 95.168.183.226] Plik nie nie > istnieje: /var/www/html/web-hosting-concerns-for-ecommerce-businesses, ponownie ferer: > mojawitryna.com > [Wt Lut 01 15:23:30 2011] [Błąd] [Klient 38.101.148.126] Plik nie istnieje > /var/www/html/cpcu-vs-mba > [Wt Lut 01 15:23:35 2011] [błąd] [klient 66.77.240.125] Plik nie > istnieje: /var/www/html/can-u-see-below-for-growing-opiniions-on-write-in-vote - > process-in-sa > > [Wto Lut 01 15:23:43 2011] [Błąd] [Klient 38.101.148.126] Plik nie istnieje: /var/www/html/dc-area-financial-strategist- pytania-brak->regulacja-dla-tv-guru-finansow>> [Wt Lut 01 15:24:15 2011] [Blad] [Klient 38.101.148.126] Plik nie istnieje: /var/www/html /jest-stopień-nauki-politycznej-z-administratorem-biznesu-> drobne-dobre-pomysły-prace-z-tym-combo> > [wt 01 lut 15:26:01 2011] [błąd] [klient 66.249.71.225] Plik nie istnieje >: /var/www/html/emba-ralph-irizarry-timbalista-de-ruben-blades Mój plik htaccess # BEGIN W3TC Page Cache <IfModule mod_rewrite.c> RewriteEngine Na RewriteBase / RewriteCond %{HTTP_USER_A GENT} (2\.0\ mmp|240x320|alcatel|amoi|asus|au\-mic|audiovox|avantgo|benq|bird|blackberry|blazer|cdm|telefon komórkowy|niebezpieczeństwo|ddipocket|docomo|dopod|elaine/3 \.0|ericsson|eudoraweb|fly|haier|hiptop|hp\.ipaq|htc|huawei|i\-mobile|iemobile|j\-phone|kddi|konka|kwc|kyocera/wx310k|lenovo|lg|lg /u990|lge\ vx|midp|midp\-2\.0|mmef20|mmp|mobilephone|mot\-v|motorola|netfront|newgen|newt|nintendo\ ds|nintendo\ wii|nitro|nokia|novarra| o2|openweb|opera\ mobi|opera\.mobi|palm|panasonic|pantech|pdxgw|pg|philips|phone|playstation\ portable|portalmmm|ppc|proxinet|psp|pt|qtek|sagem|samsung|sanyo|sch |sec|sendo|sgh|sharp|sharp\-tq\-gx10|small|smartphone|softbank|sonyericsson|sph|symbian|symbian\ os|symbianos|toshiba|treo|ts21i\-10|up\.browser|up \.link|uts|vertu|vodafone|wap|willcome|windows\ ce|windows\.ce|winwap|xda|zte) [NC] RewriteRule .* - [E=W3TC_UA:_low] RewriteCond %{HTTP_USER_AGENT} (acer \ s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|cupcake|docomo\ ht\-03a|dream|htc\ hero |htc\ magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|lg\-gw620|liquid\ build|maemo|mot\-mb200|mot\-mb300|nexus\ one|opera\ mini|samsung\-s8000 |series60.*webkit|series60/5\.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t\-mobile\ mytouch\ 3g|t\-mobile\ opal|tattoo|webmate|webos) [NC] RewriteRule .* - [E =W3TC_UA:_high] RewriteCond %{HTTPS} =on RewriteRule .* - [E=W3TC_SSL:_ssl] RewriteCond %{SERVER_PORT} =443 RewriteRule .* - [E=W3TC_SSL:_ssl] RewriteCond %{HTTP:End. gzip RewriteRule .* - [E=W3TC_ENC:.gzip] RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{QUERY_STRING} ="" RewriteCond %{REQUEST_URI} \/$ RewriteCond %{REQUEST_URI} p-admin/\(\) /|\/xmlrpc.php|\/wp-(app|cron|login|rejestr|mail)\.php|wp-.*\.php|index\.php) [NC,LUB] RewriteCond %{REQUEST_URI} (wp\-comments\-popup\.php|wp\-links\-opml\.php|wp\-locations\.php) [NC] RewriteCond %{HTTP_COOKIE} !(comment_ autor|wp\-postpass|wordpress_\[a\-f0\-9\]\+|wordpress_logged_in) [NC] RewriteCond "/var/www/html/wp-content/w3tc/pgcache/$1/_index%{ENV :W3TC_UA}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}" -f RewriteRule (.*) "/wp-content/w3tc/pgcache/$1/_index%{ENV:W3TC_UA}%{ENV:W3TC_SSL} .html%{ENV:W3TC_ENC}" [L] </IfModule> # KONIEC Pamięć podręczna stron W3TC # 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] RewriteRule ^index\.php/?(.*)$ $1 [R] </IfModule> # KONIEC WordPress Jedynym rozwiązaniem, jakie znalazłem, była ponowna instalacja całego Centosa, zaczynając wszystko od zera i włączając rzecz odpowiednio zgodnie z odpowiedziami i w końcu zadziałało, mój Linux miał pewne problemy, dlatego nie działał.


title: Pytanie dotyczące składni WooCommerce

text: Poniższa składnia usuwa „Powiązane produkty” z pojawiania się na stronie Pojedynczy produkt, ale co oznacza 20? remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20); Dziękuję.


title: Dołącz jQuery (lub cokolwiek) w tagu <head> panelu opcji niestandardowych

text: Tytuł dość dokładnie wyjaśnia, co próbuję zrobić. Gdyby ktoś mógł mi pomóc, byłoby wspaniale. Dziękuję! :)


title: Bezpieczny serwer po konfiguracji

text: Ostatnio kupiłem VPS od intovps.com i po raz pierwszy skonfigurowałem w pełni niezarządzany VPS za pomocą poleceń ssh. Moja witryna działa na tym właściwie. Teraz chcę tylko wiedzieć, jak to zabezpieczyć? Rozpocząłem mój proces konfiguracji VPS w ten sposób: - Zainstalowałem LAMP, phpmyadmin, przywróciłem kopię zapasową (wordpress i mysql), zainstalowałem vsftpd dla dostępu przez ftp, dodałem użytkownika do FTP (użytkownik może przejść do dowolnego katalogu w całym VPS, ale zmienić wszystko) Teraz po wszystkim chcę tylko poznać kroki bezpieczeństwa dla mojego VPS. Słyszałem od znajomych, że po skonfigurowaniu VPS należy go również skonfigurować ze względów bezpieczeństwa. W VPS dodałem tylko jednego użytkownika do dostępu przez ssh, co jest domyślne, i dodałem tylko jednego użytkownika ftp. Teraz chcę, aby dodany użytkownik ftp po prostu przeszedł do katalogu `/html`, gdzie jest zainstalowana moja strona internetowa i ma wszystkie zapisy, aby wszystko zmienić. Jakieś sugestie, triki lub kroki, aby uczynić serwer bezpieczniejszym?


title: Metabox nie zapisuje danych

text: Właśnie stworzyłem metabox dla jakiegoś niestandardowego tekstu na stronie, którą tworzę. Jednak gdy coś do niego wprowadzę i kliknę uaktualnienie, wydaje się, że tego nie zapisuję. Również nie oszczędza na MYSQL DB. oto kod do mojego metaboksu poniżej. <?php add_action( 'add_meta_boxes', 'dd_hctb_create' ); function dd_hctb_create() { add_meta_box ( 'dd_meta', 'Pole tekstowe nagłówka', 'dd_hctb_function', 'strona', 'normalny', 'wysoki' ); } function dd_hctb_function( $post ) { echo '<input type="hidden" name="dd_mbe_content_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />'; //pobierz wartości metadanych, jeśli istnieją $dd_mbe_content = get_post_meta( $post->ID, 'dd_mbe_content', true ); echo 'Wpisz tutaj dowolną treść, która ma się pojawiać nad głównym tekstem.'; echo '<textarea name="middle" id="dd_mbe_content" value="" cols="100%" rows="10">'.$dd_mbe_content.'</textarea>'; } function dd_hctb_save($post_id) { //próba zweryfikowania jednorazowości, jeśli (!wp_verify_nonce($_POST['dd_mbe_content_nonce'], basename(__FILE__))) return $post_id; // sprawdź autozapis if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id; // sprawdź uprawnienia if ('page' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) return $post_id; } elseif (!current_user_can('edit_post', $post_id)) { return $post_id; } //na koniec sprawdź, czy postmeta jest ustawiona if (isset ( $_POST['dd_mbe_content'] ) ) { //teraz zapisz, jeśli dane istnieją update_post_meta( $post_id, 'dd_mbe_content', strip_tags( $_POST['dd_mbe_content'] )); } } // zakończenie funkcji zapisywania add_action('save_post', 'dd_hctb_save' ); ?> dzięki za pomoc chłopaki - jestem pewien, że to gdzieś literówka lub coś nadrzędnego w ustawieniach. Jestem nowy w używaniu wp_nonce, więc każda pomoc lub rada są brane pod uwagę.


title: Mapowanie domeny MU

text: Zainstalowałem mapowanie domeny mu, ale nie mogę go uruchomić. Mam dwie różne domeny, jedna wskazuje na drugą domenę (ustawioną w mediatemple, aby wskazywała folder innej domeny). To działa. Ale kiedy używam wordpressa (a nie prostego testu php), następuje przekierowanie do domeny podstawowej. (Dodałem domenę, ustawiłem cname primary.com.) Czyli: **www.secondary.com** przekierowuje do **www.primary.com/secondary**. PS: przy użyciu najnowszego WP 3.6; z atrapy domeny/serwera


title: Jak uzyskać etykiety nawigacyjne menu do wyświetlania kodu HTML?

text: Staram się podążać za radą Jasona Bradleya, jak stylizować moje menu Wordpress. W szczególności chcę wstawić ikonę przed moimi elementami nawigacji za pomocą Font-Awesome. Próbowałem umieścić ten kod w polu Etykieta nawigacji dla mojego linku „Strona główna”: <i class="icon-fixed-width icon-home"></i> Strona główna Jednak, gdy przeglądam stronę w przeglądarce, wyświetla się ona HTML dosłownie, nie interpretuje tagu ani żadnego innego kodu HTML, który na niego wrzucam, jeśli o to chodzi. Czy menu Wordpress zmieniły się w wersji 3.6? Czy brakuje mi czegoś oczywistego? Wiem, że moja niesamowita instalacja czcionek działa, ponieważ używam ich ikon na całej mojej stronie. Dziękuję.


title: uzyskaj wartość od postu do paska bocznego

text: W moim `post`u mam następujący div, <div class="my_calss" id="my_id"> moja treść </div> Tutaj **my_id** różni się dla każdego posta. Muszę wyświetlić `my_id` na pasku bocznym w kodzie php. Oznacza to, <?php echo do_shortcode('[wp_value id=1]'); ?> trzeba przypisać powyższy identyfikator. Wyjaśniłem to za pośrednictwem **PHP** w stackoverflow. Jest zorientowany nie tylko na WordPressa, dlatego też tam o to zapytałem. Czy dobrze wyjaśniłem moje pytanie? jeśli nie, daj mi znać, co jeszcze mogę dodać?


title: Posty i porządek

text: nowicjusz tutaj z szybkim pytaniem, patrząc na wszystkie moje strony, jeśli kliknę na szybką edycję, mam szansę umieścić numer w kolejności pola i ustawić kolejność, w której powinien pojawić się pierwszy, potem drugi, tak dalej, próbowałem zrób to samo na postach, ale ta opcja nie jest dostępna, masz pomysł, jak to zrobić? Dzięki Arturo PS: Oj, do tego używam wordpressa 2.9.2


title: preg_replace Usuń tekst komentarza w treści

text: W treści posta wstawiam tekst jak poniżej abc acb acb acb <!--USUŃ--> tekst do usunięcia <!--ENDREMOVE--> abc acb acb acb abc acb acb acb <!--USUŃ--> usunąć <!--ENDREMOVE--> abc acb acb abc acb acb acb <!--USUŃ--> tekst usunąć <!--ENDREMOVE--> abc acb acb acb Chcę tylko abc acb acb acb abc acb acb acb abc acb acb acb abc acb acb abc abc acb acb abc acb acb acb I uruchamiam tę funkcję kodu remove($content){ preg_match_all("/<!--USUŃ-->.*<! ENDREMOVE-->/", $treść, $dopasowania); var_dump($pasuje); $content= preg_replace("/<!--USUŃ-->.*<!--ENDREMOVE-->/", '', $treść); zwróć $treść; } add_filter('zawartość', 'usuń', 1); ale to nie działa. Jaki jest problem ? Prawdziwym wynikiem powyższego kodu jest abc acb acb acb abc acb acb acb A var_dump to jeden wynik, a nie 3 tablica wyników 0 => <!--USUŃ--> tekst do usunięcia <!--ENDREMOVE--> abc acb acb acb abc acb acb acb <!--USUŃ--> tekst do usunięcia <!--ENDREMOVE--> abc acb acb abc acb acb acb <!--USUŃ--> tekst do usunięcia <!--ENDREMOVE-- > Prawidłowy sposób to tablica 0 => <!--REMOVE--> tekst do usunięcia <!--ENDREMOVE--> 1 => <!--REMOVE--> tekst do usunięcia <!--ENDREMOVE--> 2 => <!--USUŃ--> tekst do usunięcia <!--ENDREMOVE-->


title: Zabezpieczanie moich plików i katalogów WordPress

text: Jestem nowy w WordPressie i bezpiecznie hostuję go na Amazon EC2. Moje pytanie brzmi, jak prawidłowo zabezpieczyć pliki i katalogi WordPress? Moje uprawnienia do plików są ustawione na 644, a moje katalogi na 755. [ec2-user@ip-xx-xxx-xxx-xx my_sub_directory]$ ls -l total 160 -rw-r--r-- 1 ftpuser 65534 395 8 stycznia 2012 index.php -rw-r--r-- 1 ftpuser 65534 19929 6 maja 2012 license.txt -rw-r--r-- 1 ftpuser 65534 9177 21 czerwca 17:26 readme.html -rw-r --r-- 1 ftpuser 65534 4663 17 listopada 2012 wp-activate.php drwxr-xr-x 9 ftpuser 65534 4096 23 lipca 23:12 wp-admin -rw-r--r-- 1 ftpuser 65534 271 8 stycznia 2012 wp-blog-header.php -rw-r--r-- 1 ftpuser 65534 3522 10 kwietnia 2012 wp-comments-post.php -rw-r--r-- 1 ftpuser root 3596 Jul 23 20:27 wp- config.php drwxr-xr-x 5 ftpuser 65534 4096 Jul 23 17:44 wp-content -rw-r--r-- 1 ftpuser 65534 2718 23 września 2012 wp-cron.php drwxr-xr-x 9 ftpuser 65534 4096 21 czerwca 19:39 wp-includes -rw-r--r-- 1 ftpuser 65534 1997 23 paź 2010 wp-links-opml.php -rw-r--r-- 1 ftpuser 65534 2408 26 paź 2012 wp-load .php -rw-r--r-- 1 ftpus er 65534 29217 21 czerwca 03:02 wp-login.php -rw-r--r-- 1 ftpuser 65534 7723 25 września 2012 wp-mail.php -rw-r--r-- 1 ftpuser 65534 9899 22 listopada 2012 wp-settings.php -rw-r--r-- 1 ftpuser 65534 18219 11 września 2012 wp-signup.php -rw-r--r-- 1 ftpuser 65534 3700 8 stycznia 2012 wp-trackback.php -rw- r--r-- 1 ftpuser 65534 2719 11 września 2012 xmlrpc.php A mój plik `.htaccess` próbuje dalej chronić plik `wp-config.php` # PROTECT WP-CONFIG <Pliki wp-config.php> Zamów Zezwól, Odmów Odmów wszystkim </Files> Kiedy próbuję uzyskać dostęp do mojego pliku wp-config.php z przeglądarki w następujący sposób: http://ec2-xx-xx-xxx-xx.compute-1.amazonaws.com/ my_sub_directory/wp-config.php Otrzymuję ten błąd: > Zabronione > > Nie masz uprawnień dostępu do /my_sub_directory/wp-config.php na tym > serwerze. Ale kiedy uzyskuję dostęp do innego pliku w moim katalogu, na przykład `wp-cron.php` w ten sposób: http://ec2-xx-xx-xxx-xx.compute-1.amazonaws.com/my_sub_directory/wp-cron .php Otrzymuję pustą białą stronę. Myślę, że to nie może być bezpieczne. **Więc moje pytanie brzmi, jak prawidłowo zabezpieczyć następujące pliki?** [ec2-user@ip-xx-xxx-xxx-xx mój_podkatalog]$ ls -a . wp-activate.php wp-cron.php wp-settings.php .. wp-admin wp-zawiera wp-signup.php .htaccess wp-blog-header.php wp-links-opml.php indeks wp-trackback.php .php wp-comments-post.php wp-load.php xmlrpc.php licencja.txt wp-config.php wp-login.php readme.html wp-content wp-mail.php


title: Wtyczka jigoshop dostosowywania SKU

text: Gdy produkt jest publikowany, SKU jest tworzony losowo, ale potrzebuję wartości SKU powinna być nazwa-kategorii.defaultskuvalue. Wszystko to odbywa się automatycznie podczas tworzenia produktu. Jak mogę zmodyfikować sposób tworzenia wartości sku?


title: Archiwum taksonomii: wyświetlaj tylko jeden post na termin z oddzielnej taksonomii niestandardowej

text: Mam problem z wymyśleniem rozwiązania dla katalogu produktów, który buduję przy użyciu niestandardowych typów postów i 4 niestandardowych taksonomii. Katalog produktów jest oddzielony „modelem”, ale każdy „model” może mieć do 15 odmian „produktu”. Każdy „produkt” ma inne atrybuty i muszę mieć możliwość filtrowania listy produktów na podstawie tych atrybutów. Strukturalnie mam następujące elementy: * Produkt (typ posta niestandardowego) * Model (taksonomia) * Rozmiar (taksonomia) * Kolor (taksonomia) * Funkcje (taksonomia) Z wyjątkiem „Modelu”, każda taksonomia jest używana jako sposób filtrowania wyświetlanych produktów. Używam wtyczki Query Multiple Taxonomies, która pomaga mi filtrować atrybuty dla każdego produktu. To działa świetnie. Pozwala mi używać domyślnej hierarchii szablonów Wordpress i wprowadzać wszystkie moje zmiany w pliku taxonomy.php. Teraz tutaj się gubię. Chciałbym ograniczyć wyświetlane wyniki, tak aby wyświetlany był tylko 1 z każdego modelu, mimo że filtrowanie może zwrócić wiele produktów na model. Obecnie używam The Loop i get_the_terms() do tworzenia tablicy, a następnie używam funkcji array_unique() do zapisania tylko jednego wystąpienia każdej nazwy modelu w tablicy. Oto kod, który mam dla tej części: $modelSlugs = array(); while (have_posts()) : the_post(); // Zbierz nazwy modeli przypisane do każdego produktu $terms = get_the_terms( $post->ID, 'models' ); if ( $terms && ! is_wp_error( $terms ) ): $term = array_pop($terms); $modelSlugs[] = $term->slug; endif; koniec; $modelList = array_unique($modelSlugs); To da mi tylko jedną wiadomość (lub nazwę) każdego modelu, co jest dobre, ale muszę również pokazać miniaturę produktu i użyć linku bezpośredniego do linku do strony pojedynczego produktu. Wiem, że mogę generować dodatkowe zapytania na podstawie każdego slugu, ale brzmi to jak koszmar wydajności. Im więcej o tym myślę, nie mogę przestać myśleć, że to zła droga. Wiem, że zwrócony obiekt $wp_query ma wszystko, czego mógłbym potrzebować, po prostu nie jestem pewien, jakich sztuczek użyć, aby pokazać tylko jeden post dla każdego modelu. Czy istnieje sposób na przygotowanie lub manipulowanie zwróconym obiektem WP_Query przed uruchomieniem pętli, czy jest coś, co mogę zrobić wewnątrz pętli, aby ograniczyć liczbę wyświetlanych produktów?


title: Jak mogę przekierować cały podkatalog tagów wordpress (podfolder) do innego (archiwa/tag)

text: Zmieniłem swoje permalinki i działa dobrze, ale muszę przekierować stary folder **tag** do **archives/tag**, aby nie stracić linków, które google zaindeksował poniżej, to mój plik .htaccess w katalogu głównym mojej witryny z przepisami http: //foodonia.com # Użyj PHP5.4 jako domyślnej aplikacji AddHandler/x-httpd-php54 .php # POCZĄTEK 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> Przykład: http://foodonia.com/tag/fudge/ powinno przekierowywać na http://foodonia.com/archives/tag/fudge Próbowałem dodać każdy z kodów uderzeń ale przekierowanie nie działa `#RewriteRule tag/(.*) archives/tag/$1 [NC,L]` `#RewriteRule tag/$ /archives/tag/$1 [NC,L]` `#RewriteRule tag/ /archives/ tag [L]` Próbuję znaleźć rozwiązanie, ale nie mogę znaleźć podobnego posta


title: is_taksonomia() nie działa

text: <?php if ( ! define( 'ABSPATH' ) ) exit; // Zakończ przy bezpośrednim dostępie get_header(); $term = is_taxonomy('oferty-specjalne'); if ($term) { echo "Nowy szablon"; } else{ ?> Nowy szablon. Chcę ustawić taksonomię według szablonu. Jakaś pomoc?


title: Losowo umieszczone przyklejone posty niestandardowe uzupełnione postami na blogu

text: W moim pliku index.php pokazuję najnowsze posty przy użyciu standardowego pliku index.php. Chciałbym jednak dołączyć niestandardowy typ posta (nazwane produkty) w tej standardowej pętli. Masz w sumie około 6 postów o produktach i chciałbyś pokazać je w losowej kolejności na pierwszych 12 'slotach' pętli. Scenariusz może więc wyglądać następująco: 1. Produkt 2. Post (najnowsze) 3. Post (najnowsze - 1) 4. Produkt 5. Post ... 12. Produkt/post 13. Tylko wpisy z tego miejsca ... Post (najstarsze) Połączyłem produkty i posty w pętli w następujący sposób: global $query_string; parse_str( $ciąg_zapytania, $args ); $args['post_type'] = array( 'post', 'produkty' ); zapytanie_posty( $args ); if (have_posts()) : while (have_posts()) : the_post(); ... Mam nadzieję, że to ma sens. Nie mam pojęcia, jak do tego podejść. Doceń pomysły!


title: Uszkodzenie informacji o motywie w style.css

text: Dostosowuję motyw innej osoby, aby umożliwić właścicielowi witryny edytowanie większej liczby regionów niż wcześniej. Skopiowałem motyw do nowego folderu z inną nazwą folderu niż oryginał. Edytowałem style.css i zastąpiłem informacje o motywie: /* Nazwa motywu: Konfigurowalny SuperBaby i Ted Autor: Steve Doig Autor URI: http://tech.doig.com.au Opis: Zmodyfikowana wersja SuperBaby i Ted, aby umożliwić zmiany na stronie głównej i nawigacji w stopce. Wersja: 2.0 */ Jednak kiedy wrzucam style.css do folderu motywu, widzę to w Wygląd > Motywy: ![tutaj podaj opis obrazka](http://i.stack.imgur.com/1Wsz3.png) dodałem pustą linię między każdą linią, bez różnicy. Skopiowałem te informacje do nowego Notatnika, skopiowałem z tego Notatnika i wkleiłem z powrotem do oryginalnego Notatnika bez różnicy. Czy widzisz, co się tutaj dzieje?


title: Wspierasz starsze wersje WordPressa we wtyczce/motywie?

text: Praktyka wspierania tylko najnowszej wersji WP wydaje się popularna w kręgach programistów WP, ale istnieje ogromny odsetek blogów z przestarzałymi wersjami. Brak obsługi tych wtyczek wydaje się prowadzić do znacznie mniejszego wykorzystania niż w przypadku obsługi _(niektórych)_ starszych wersji. Obsługa starszych wersji wiąże się z poważnymi problemami, w szczególności: * Skomplikowane testowanie wielu wersji _(testy jednostkowe?);_ * Brak dostępu do najnowszych funkcji lub konieczność ich backportowania; * Niezgodności Twojego kodu pomiędzy wersjami WP _(działa w jednej, psuje drugą);_ * Szerszy zakres wymagań hostingowych _(starsze wersje PHP i MySQL, porzucane przez WP)._ - 1. W swoim doświadczeniu musiałeś kiedyś wspierać starsze wersje WP w Twoim kodzie? 2. Jakie praktyki organizacyjne i techniczne przyniosły dobre wyniki? 3. Jakiego rodzaju kodu używasz do zarządzania obsługą wielu wersji.