title: Logowanie na pasku bocznym: Jak wyświetlić nazwę użytkownika po „Witamy”?

text:
Yo, logowanie na pasku bocznym zwykło mówić „Witamy %username%” bez problemu, dopóki nie zastosowałem __() do ciągu „Witamy”. Od tego czasu wiadomość powitalna mówi tylko „Witamy” (we wszystkich językach), ale nie mogę przywrócić tam tej nazwy użytkownika, aby uratować mi życie. Co ja robię źle? Oto jak to wygląda: function widget_wp_sidebarlogin($args) { global $user_ID, $current_user; /* Aby dodać więcej rozszerzeń, np. gdy terminy pochodzą z motywów - sugeruje dev.xiligroup.com */ $defaults = array( 'thelogin'=>__('Login'), 'thewelcome'=>__('Welcome') , 'theusername'=>__('Username:','sblogin'), 'thepassword'=>__('Hasło:','sblogin'), 'theremember'=>__('Zapamiętaj mnie','sblogin' ), 'theregister'=>__('Zarejestruj','sblogin'), 'thepasslostandfound'=>__('Hasło zgubione i odnalezione','sblogin'), 'thelostpass'=> __('Nie pamiętasz hasła?' ,'sblogin'), 'thelogout'=> __('Wyloguj','sblogin') ); $args = array_merge($domyślne, $args); ekstrakt($args); get_currentuserinfo(); if ($user_ID != '') { // Użytkownik jest zalogowany globalnie $current_user; get_currentuserinfo(); if (empty($thewelcome)) $thewelcome = str_replace('%username%',ucwords($current_user->display_name),get_option('sidebarlogin_welcome_heading')); echo $before_widget . $before_title . __("Powitanie") . $user_info->user_login . $po_tytule; if (get_option('sidebar_login_avatar')=='yes') echo '
'.get_avatar($user_ID, $size = '38').'
'; echo '
'; if(isset($bieżący_użytkownik->poziom_użytkownika) && $bieżący_użytkownik->poziom_użytkownika) $poziom = $bieżący_użytkownik->poziom_użytkownika; $linki = do_shortcode(trim(get_option('sidebarlogin_logged_in_links'))); $linki = eksploduj("\n", $linki); if (sizeof($linki)>0) foreach ($linki jako $l) { $l = trim($l); if (!empty($l)) { $link = explode('|',$l); if (isset($link[1])) { $cap = strtolower(trim($link[1])); if ($cap=='true') { if (!current_user_can( 'manage_options' )) kontynuuj; } else { if (!current_user_can( $cap )) Continue; } } // Przeanalizuj %USERNAME% $link[0] = str_replace('%USERNAME%',$current_user->user_login,$link[0]); $link[0] = str_replace('%username%',$current_user->user_login,$link[0]); // Przeanalizuj %USERID% $link[0] = str_replace('%USERID%',$current_user->ID,$link[0]); $link[0] = str_replace('%userid%',$current_user->ID,$link[0]); echo '
'.$link[0].'
'; } } Gracias...


title: Właściwy sposób modyfikacji wtyczki

text: Jaki jest najlepszy sposób na modyfikację wtyczki? Często chcę wprowadzać małe zmiany w jednej lub dwóch funkcjach w dużej wtyczce. Jest to łatwe, ale muszę używać komentarzy, aby oznaczyć moje zmiany i ponownie zmodyfikować wtyczkę po aktualizacji. Najlepiej byłoby zostawić wtyczkę w spokoju i wprowadzić zmiany w innym miejscu, podobnie jak robimy to z motywami i motywami podrzędnymi. Czy mogę stworzyć wtyczkę, która wymaga wtyczki nadrzędnej i zastąpi ją?


title: Tworzenie ścieżki we wtyczce do wywołania funkcji

text: OK, załóżmy, że chcę utworzyć dynamiczną stronę „do druku” przy użyciu systemu, który nie współpracuje dobrze z silnikiem motywów Wordpress, czy istnieje sposób, aby zdefiniować „permalink” w mojej wtyczce, który wywoła predefiniowaną funkcję , także w mojej wtyczce? Jeśli znasz Drupala, jest on podobny do tego, jak działa ich menu podręczne, ale potrzebuję go tylko w bardzo ograniczonym zakresie, więc nie musi być tak solidny.


title: Pokazać inny motyw dla administratora?

text: Chciałbym przetestować niektóre zmiany motywu w mojej aktywnej witrynie, ale oczywiście nie chcę, aby zwykli użytkownicy widzieli jakiekolwiek błędy, które mogą z tego wyniknąć. Chciałbym po prostu zduplikować folder mojego motywu, a jeśli jestem zalogowany jako administrator, ten motyw jest mi pokazywany, w przeciwnym razie moim użytkownikom jest wyświetlany stary motyw. Czy jest do tego wtyczka?


title: Wiele wtyczek wchodzących w interakcję z menu

text: Wystąpił problem z użyciem wielu wtyczek wchodzących w interakcję z systemem menu w WordPressie. Używamy UberMenu i chcieliśmy użyć If Menu, aby kontrolować widoczność niektórych pozycji menu. Jednak UberMenu zastępuje If Menu i nie może być używane. Na forum UberMenu jeden z programistów powiedział > Niestety ograniczeniem systemu menu WordPress jest to, że możesz > mieć tylko jedną wtyczkę/motyw dodając ustawienia do pozycji menu na raz. i wspomniał, że pracuje nad pracą. Jestem ciekaw, czy ktoś inny doświadczył tego problemu i czy ktoś mógłby zaproponować rozwiązanie problemu. Z góry dziękuję.


title: Jak dołączyć plik szablonu, jednocześnie pozwalając mu renderować własną dynamiczną zawartość dodaną za pomocą niestandardowego pola?

text: Mam 3 pliki motywów: `header.php`, `navigation.php` i `page.php` `page.php` wywołuje `header.php` Oba mają zawartość, która jest dodawana poprzez `custom box`. `navigation.php` zawiera pewną zawartość dodaną do niego poprzez `custom box`. Na podstawie wywoływanej strony chciałbym również dołączyć `navigation.php` do `header.php`. Jak mam to zrobić? Chcę, aby `navigation.php` był dołączony do `page.php`, podczas gdy oba mają zawartość dodaną do niego poprzez `custom box`. **Domyślam się** Utwórz na przykład stronę o nazwie „Nawigacja”. Nigdy nie wyświetlam tego linku w moich szablonach, aby nie był używany jako osobna strona, mimo że istnieje jako jedna. Umożliwi mi to edycję jego zawartości. Utwórz kolejną stronę o dowolnej nazwie, użyje to `page.php`. `page.php` użyłby jakiejś funkcji do włączenia `navigation.php` opartego na `is_home()`. Jeśli ten pomysł jest słuszny, czy ktoś mógłby omówić szczegóły i podać mi szczegóły, jakich funkcji używałbym itp.?


title: Uzyskać limit zawartości?

text: Wiem, że to może wydawać się głupim pytaniem, ale szukałem w Internecie i nie mogę znaleźć tego, czego szukam. Wygląda na to, że używałem już następujących znaczników (choć zmodyfikowanych), aby ograniczyć liczbę słów, które pojawiają się w miejscu, w którym znajduje się ten fragment.Czy ktoś może pomóc?Niekoniecznie chcę link Czytaj więcej, tylko po to, aby móc ograniczyć liczbę słów w kilku - NIE WSZYSTKICH - moich plikach szablonów. <?php the_content(); ?>


title: Jak uzyskać aktualny identyfikator posta w wywołaniu zwrotnym szybkiej edycji

text:
To pytanie jest związane z innym wcześniej zadanym pytaniem, które jest kontynuacją odpowiedzi. # Zadanie Ponieważ chcę rozszerzyć QuickEdit, aby był czymś naprawdę niesamowitym (i czymś więcej niż tylko _szybką edycją_ ), potrzebuję identyfikatora aktualnie "szybko edytowanego" postu w moich wywołaniach zwrotnych. ## Core MarkUp Z tego, co widzę w core w pliku `class-wp-posts/terms-list-table.php` i funkcji `WP_*_List_Table#inline_edit()`, nie ma wartości dla pól wyboru, pola wejściowe itp. ustawiane przez PHP. Wszystkie są ustawiane za pomocą JavaScript. Struktura wygląda następująco:  <form id="posts-filter" action method="get">

Dane postu

kolejny post... itd.

 </form> <form method="get" action>

 </form> ## Niestandardowe pola szybkiej edycji W zależności od tego, co i od której tabeli listy (post/ termin), do którego chcemy dodać niestandardowe pola szybkiej edycji, musimy dodać wywołania zwrotne do filtrów. Ponownie działają one tylko wtedy, gdy otrzymaliśmy niestandardową kolumnę (patrz inne pytanie). add_action( 'quick_edit_custom_box', array( $this, 'addFields' ), 10, 3 ); # add_action( 'bulk_edit_custom_box', array( $this, 'addFields' ), 10, 2 ); Samo wywołanie zwrotne ma rzeczywisty **_problem, z którym mam do czynienia_**. Mamy dwa (lub w przypadku terminów trzy) argumenty: `$postType` i `$columnName`. Oba nie pomagają mi w odzyskaniu rzeczywistego `$post_ID`, którego potrzebuję na przykład do `wp_editor()`. public function addFields( $colName, $postType, $taxonomy = '' ) { // Jak pobrać tutaj identyfikator aktualnie edytowanego posta? }


title: Jak dodać źródłowy adres URL jako pole niestandardowe w autoblogowanej wtyczce Wordpress?

text:
Moja strona internetowa działająca na wtyczce Autoblogged i zainstalowanym motywie to iPin Pro. Chciałem autoblogować posty, aby dodać źródłowy adres URL, w pokazach stron przesłanych przez użytkownika. proszę pomóż. Chciałem "przesłać przez użytkownika" do wartości pola niestandardowego autoblogowanego, zrzut ekranu dołączony tutaj http://imgur.com/EOxtrje , mój zrzut ekranu z autoblogowaną niestandardową stroną jest tutaj - http://i.imgur.com/LlA2HTN.jpg? 1 Jakie są wartości w polu niestandardowym? Oto strona źródłowa page_source.php w motywie <?php /* Nazwa szablonu: _source */ ?> <?php get_header(); globalny $ user_ID, $ wp_rewrite; ?>
 <?php if(isset($wp_query->query_vars['domain'])) { $source = rawurlencode($wp_query->query_vars['domain']); } else { $źródło = '...'; } ?>

<?php _e('Pin z', 'ipin') ?> <a href="http://<?php echo $źródło; ?>" target="_blank"><?php echo $źródło; ?>

 <?php $pnum = intval($_GET['pnum']) ? $_GET['pnum'] : 1; $args = array( 'meta_key' => '_Domena źródłowa zdjęcia', 'meta_value' => $źródło, 'paged' => $pnum ); zapytanie_posty($args); $maxpage = $wp_query->max_num_pages; ?>

 <?php $count_ad = 1; if (have_posts()) : while (have_posts()) : the_post(); ?> <?php if (of_get_option('frontpage1_ad') == $count_ad && of_get_option('frontpage1_ad_code') != '' && ($pnum == 1 || of_get_option('infinitescroll') == 'wyłącz')) { ?>

 <?php eval('?>' . of_get_option('frontpage1_ad_code')); ?>

 <?php } ?> <?php if (of_get_option('frontpage2_ad') == $count_ad && of_get_option('frontpage2_ad_code') != '' && ($pnum == 1 | | of_get_option('infinitescroll') == 'wyłącz')) { ?>

 <?php eval('?>' . of_get_option('frontpage2_ad_code' )); ?>

 <?php } ?> <?php if (of_get_option('frontpage3_ad') == $count_ad && of_get_option('frontpage3_ad_code') != '' && ($pnum == 1 | | of_get_option('infinitescroll') == 'wyłącz')) { ?>

 <?php eval('?>' . of_get_option('frontpage3_ad_code' )); ?>

 <?php } ?> <?php if (of_get_option('frontpage4_ad') == $count_ad && of_get_option('frontpage4_ad_code') != '' && ($paged == 0 || $paged == 1 || of_get_option('infinitescroll') == 'wyłącz')) { ?>

 <?php eval('?>' . of_get_option('frontpage4_ad_code')); ?>

 <?php } ?> <?php if (of_get_option('frontpage5_ad') == $count_ad && of_get_option('frontpage5_ad_code') != '' && ($paged == 0 | | $paged == 1 || of_get_option('infinitescroll') == 'wyłącz')) { ?>

 <?php eval('?> ' . of_get_option('frontpage5_ad_code')); ?>

 <?php } ?> <div id="post-<?php the_ID(); ?>" <?php post_class('kciuk'); ?>>

 <?php if (current_user_can('administrator') || current_user_can('editor') || current_user_can('autor') || !is_user_logged_in()) { ?> <a class="ipin-repin btn btn -mini" data-post_id="<?php echo $post->ID ?>" href="#"> <?php _e('Repin', ' ipin'); ?> <?php } ?> <?php if ($post->post_author != $user_ID) { ?> <button class="ipin-like btn btn-mini<?php if (ipin_liked($post->ID)) { echo ' wyłączone'; } ?>" data-post_id="<?php echo $post->ID ?>" data-post_author="<?php echo $post->post_author; ?>" type="button"> <?php _e('Lubię to', 'ipin'); ?></button> <?php } else { ? > <a class="btn btn-mini" href="<?php echo home_url('/pins-settings/'); ?>?i=<?php the_ID(); ?>"><?php _e('Edytuj', 'ipin'); ?> <?php } ?> <a class="ipin-coment btn btn-mini" href="<?php the_permalink(); ?>#respond" data-post_id="<?php echo $post->ID ?>"> <?php _e('Komentarz', 'ipin') ?>
 <a class="polecany-link-kciuk" href="<?php the_permalink(); ?>"> <?php if (of_get_option('price_currency') != '') { remove_filter('the_title', 'ipin_the_title'); $title_unfiltered = get_the_title(); preg_match_all('/\$[0-9, ]+(?:\.[0-9]{2})?/', $title_unfiltered, $match); add_filter( 'the_title', 'ipin_the_title'); if ($match[0]) { ?>

<?php echo str_replace('$', of_get_option('price_currency'), array_pop($match[0])); ?>

 <?php} } ?> <?php //if to wideo z youtube lub vimeo $photo_source = get_post_meta($post->ID, "_Photo Source", true); if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|. *[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', str_replace('&', '&', $photo_source), $match) || (strpos(parse_url($photo_source, PHP_URL_HOST), 'vimeo.com') !== FAŁSZ && sscanf(parse_url($photo_source, PHP_URL_PATH), '/%d', $video_id))) { ?>

 <?php } ?> <?php $imgsrc = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'medium'); if ($imgsrc[0] == ' ') { $imgsrc[0] = get_template_directory_uri() . '/img/blank.gif';} //jeśli jest animowany gif $animated_gif = false; if (substr($imgsrc[0], -4) == '.gif' && get_post_meta(get_post_thumbnail_id($post->ID), 'a_gif', true) == 'yes') { $animated_gif = true; $animated_gif_imgsrc_full = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'full'); echo '

'; } ?> <img class="featured-thumb<?php if ($animated_gif) echo ' polecany-thumb-gif-class" data-animated-gif-src-medium="' . $imgsrc[0] . '" data-animated-gif-src-full="' . $animated_gif_imgsrc_full[0]; ?>" src="<?php echo $imgsrc[0]; ?>" alt="<?php atrybut_tytułu(); ?> " style="szerokość:<?php echo $imgsrc[1] ?>px;wysokość:<?php echo $imgsrc[2] ?>px" />  <div class="tytuł-postu" data-title="<?php esc_attr_e($title_unfiltered); ?>"> <?php $post_title_strip_tags = get_the_title(); if (of_get_option('posttags') == 'enable') { $post_title_strip_tags = preg_replace('/tags\[(.*?)\]/', '', get_the_title(), 1); } echo mb_strimwidth(strip_tags($post_title_strip_tags), 0, 255, '...'); $posttags = get_the_tags(); if ($posttags) { echo '

'; foreach($posttags as $tag) { echo 'term_id). '">' . $tag->nazwa . ' '; } echo '
'; } ?>

<?php $liczba_polubień = get_post_meta($post->ID, '_Liczba polubień', prawda); $repins_number = get_post_meta($post->ID, '_Repin Count', true); $comments_number = get_comments_number(); ?>
 <?php if ($likes_number == '' || $likes_number == '0') { echo 'ID . '" class="liczba-polubień ukryj">'; } elseif ($likes_number == '1') { echo 'ID . '" class="likes-count">1' . __('lubię', 'ipin') . ''; } else { echo 'ID . '" class="likes-count">' . $liczba_polubień . ' ' . __('lubi', 'ipin') . ''; } if ($comments_number == '0') {echo 'ID . '" class="comments-count hide">'; } elseif ($comments_number == '1') { echo 'ID . '" class="comments-count">1' . __('komentarz', 'ipin') . ''; } else { echo 'ID . '" class="comments-count">' . $comments_number . ' ' . __('komentarze', 'ipin') . ''; } if ($repins_number == '' || $repins_number == '0') { echo 'ID . '" class="repins-count hide"> '; } elseif ($repins_number == '1') { echo 'ID . '" class="repins-count">1' . __('repin', 'ipin') . ''; } else { echo 'ID . '" class="repins-count">'. $repins_number . ' ' . __('repin', 'ipin') . ''; } ?>

 <?php if (current_user_can('administrator') || current_user_can('redaktor') || current_user_can('autor') || !is_user_logged_in ()) { ?> <a class="ipin-repin btn btn-small" data-post_id="<?php echo $post->ID ?>" href="#"><?php _e('Repin' , „ipin”); ?> <?php } ?> <?php if ($post->post_author != $user_ID) { ?> <button class="ipin-like btn btn-small<?php if(ipin_liked($ post->ID)) { echo 'wyłączony'; } ?>" data-post_id="<?php echo $post->ID ?>" data-post_author="<?php echo $post->post_author; ?> " type="przycisk"><?php _e('Lubię', 'ipin'); ?></button> <?php } else { ?> <a class="btn btn-small" href="<?php echo home_url('/pins-settings/'); ?>?i=<?php the_ID(); ?>"><?php _e('Edytuj', 'ipin'); ?> <?php } ?> <a class="ipin-comment btn btn-small" href="<?php the_permalink(); ?>#respond" data-post_id="<?php echo $ post->ID ?>"><?php _e('Komentarz', 'ipin'); ?>

<a href="<?php echo home_url('/' . $wp_rewrite- > baza_autora .'/') .get_the_author_meta('user_nicename'); ?>/"><?php echo get_avatar(get_the_author_meta('ID'), '30'); ?>

 <?php the_author_posts_link(); ?> <?php $original_post_id = get_post_meta($post->ID, "_Original Post ID", prawda); if ($original_post_id != '' && $original_post_id != 'usunięty') { $original_postdata = get_post($original_post_id, 'ARRAY_A'); $original_author = get_user_by('id', $original_postdata['post_author']); ?> <?php _e('przez', 'ipin'); ?> <a href="<?php echo home_url('/' . $wp_rewrite->autor_base . '/') . $original_author->user_nicename; ?>/"><?php echo $original_author-> wyświetlana nazwa; ?> <?php } if ($board_info = get_the_terms($post->ID, 'board')) { _e('onto', 'ipin'); foreach ($board_info as $board) { ?> <a href="<?php echo home_url('/board/'); ?><?php echo $board->term_id ?>/"><?php echo $board->name; ?> <?php }} ?>

 <?php if ('0' != $frontpage_comments_number = of_get_option('frontpage_comments_number')) { ?> <div id="masonry-meta-comment-wrapper-<?php echo $post->ID; ?>"> <?php if ($comments_number > $frontpage_comments_number) { $offset = $comments_number - $frontpage_comments_number; } else { $przesunięcie = 0; } $args = array( 'number' => $frontpage_comments_number, 'post_id' => $post->ID, 'order' => 'asc', 'offset' => $offset, 'status' => 'approve' ); $komentarze = get_comments($args); foreach($komentarze jako $komentarz) {?>
 <?php $comment_author = get_user_by('id', $comment->user_id); ?>
 <?php if ($comment_author) { ?> <a href="<?php echo home_url('/' . $wp_rewrite->author_base . '/') $comment_author->nazwa_użytkownika; ?>/"> <?php } ?> <?php echo get_avatar($comment->identyfikator_użytkownika, '30'); ?> <?php if ($comment_author) { ?>  <?php } ?>

  <?php if ($comment_author) { ?><a href="<?php echo home_url('/' . $wp_rewrite->autor_base . '/') . $comment_author->user_nicename; ?>/">< ?php } ?><?phpecho $comment->comment_author; ?><?php if ($comment_author) { ?><?php } ?>  <?php echo $comment->comment_content ; ?>

 <?php } ?>
 <?php } if (is_user_logged_in()) { ?> <div id="masonry-meta-commentform-<? php echo $post->ID ?>" class="masonry-meta hide">
<?php echo get_avatar($user_ID, '30'); ?>

 <?php $id_form = 'commentform-' . $post->ID; $id_submit = 'prześlij-' . $post->ID; comment_form(array( 'id_form' => $id_form,'id_submit' => $id_submit, 'title_reply' => '', 'cancel_reply_link' => __('X Anuluj odpowiedź', 'ipin'), 'comment_notes_before' => '', 'comment_notes_after' => '', 'logged_in_as' => '', 'label_submit' => __('Opublikuj komentarz', 'ipin'), 'comment_field' => '<textarea placeholder="' .__('Dodaj komentarz...', ' ipin') '" id="komentarz" nazwa="komentarz" aria-required="true"></textarea>' )); ?>

 <?php } ?>
 <?php $count_ad++; koniec; else : ?>

<?php _e('Nic jeszcze...', 'ipin') ; ?>

 <?php endif; wp_reset_query(); ?>
 <?php if ($maxpage != 0) { ?>

 <?php if ($pnum != 1 && $maxpage > = $pnum) { ?>
 <a href="<?php $permalink = get_permalink(); if (substr($permalink,-1) == '/') { $ permalink = substr($permalink,0,-1); } echo $permalink . '/' . $źródło . '?pnum=' . ($pnum-1); ?>"><?php _e('« Poprzedni ', 'ipin') ?>
 <?php } ?> <?php if ($maxpage != 1 && $maxpage != $pnum) { ?>
 <a href="<?php $permalink = get_permalink(); if (substr($permalink,-1) == '/') { $permalink = substr($permalink,0,-1); } echo $permalink . '/' . $source . '?pnum=' . ($pnum+1); ?>"><?php _e('Next »', 'ipin') ?>
 <?php } ?>

 <?php } ?>

<?php _e('Góra', 'ipin'); ?>

 <?php get_footer(); ?>


title: Jak korzystać z szablonów WP w zagnieżdżonej strukturze witryny?

text: Pracuję nad witryną, która wyróżnia okolice. W obrębie każdej dzielnicy znajdują się miejsca (które zostaną dodane przez klienta na zapleczu). Każda dzielnica będzie miała swój własny, niepowtarzalny zestaw miejsc. Zorientowałem się, jak poprowadzić listę wszystkich sąsiedztw (neighborhood.php) do konkretnego pojedynczego sąsiedztwa (single-neighborhood.php). Jednak kiedy już dostanę się do jednego sąsiedztwa, nie rozumiem, jak utworzyć link do listy miejsc (która byłaby niestandardowym typem posta), który następnie łączyłby się z ich pojedynczą stroną miejsca. Zastanawiałem się nad wykorzystaniem koncepcji stworzenia niestandardowego typu postu Places, a następnie szablonu strony single-place.php, ale zastanawiam się, jak WordPress to zinterpretuje i jak doprowadzi do prawidłowego postu. Oto obraz, który pokazuje hierarchię, ukończyłem poziomy od 1 do 3 i próbuję rozgryźć 4-5. ![Struktura witryny szybkiej mapy](http://i.stack.imgur.com/VagNu.png) Wiem, jak tworzyć niestandardowe typy postów, wiem, jak tworzyć niestandardowe pola, wiem, jak połączyć niestandardowe pola z szablony. Czego nie wiem i próbuję dowiedzieć się, jak połączyć się z pojedynczymi miejscami z określonej okolicy? W jaki sposób wordpress rozumie, do jakiego posta należy się udać? W podsumowaniu I: 1. Utworzono 27 dzielnic 2. Każda okolica ma podnawigację, która prowadzi do „Miejsc” „Historii” „Galerii” „Użytecznych miejsc” 3. Muszę dowiedzieć się, jak połączyć listę Miejsc z Link podrzędny „Miejsca” i każe pobrać treść z określonego posta niestandardowego miejsca, a następnie przekierować tę listę do jednej strony miejsca. Rozumiem koncepcję szablonu Sąsiedztwo.php połączonego bezpośrednio z pojedynczym-sąsiedztwem.php, ale nie rozumiem Dowiedz się, jak sprawić, by kolejna hierarchia zagnieżdżonych witryn działała zgodnie z tą logiką, czy nadal byłoby to place.php do single-place.php? Jeśli tak, w jaki sposób mogę utworzyć link do listy miejsc związanych z określonymi dzielnicami na stronie jednej dzielnicy? Dziękuję Ci.


title: Jak w pełni przenieść obrazy postów z jednej witryny WordPress do innej?

text: Wiem, że WordPress ma wbudowane narzędzie do eksportowania treści, ale w rzeczywistości nie eksportuje to obrazów powiązanych z każdym postem… eksportuje tylko plik XML. Jak właściwie wyeksportować obrazy w każdym poście i przesłać je do mojej nowej witryny WordPress?


title: Program do przesyłania wielu witryn i multimediów

text: Wygląda na to, że na moim blogu na żywo jest dziwny problem z moim multisite. Może dlatego, że mam jedną witrynę ustawioną na „usuniętą” - więc mogę ją edytować, ale publiczność jej nie widzi? Moje bieżące przesyłanie jest skonfigurowane w następujący sposób: `wp-content/blogs.dir/10/files` Daje mi to link taki jak (link jest prawdziwy, zamieniłem adres mojej strony na example.com): `http:/ /example.com/files/2013/01/Screenshot- from-2013-01-04-141248-300x150.png` Działa to na każdej stronie, którą mam, niedawno stworzyłem nową stronę i przesyłam obrazy za pośrednictwem przesłanych programów uszkodzony obraz, a konsola stwierdza, że nie może go znaleźć. Poszedłem więc do FPT i wszedłem do blogs.dir (przechowywany w bazie wp-content) i wszedłem na stronę 10 i oczywiście pod `files/2013/03/` znajdują się pliki, które przesłałem. Następnie poszedłem do mojego programu do przesyłania multimediów, spojrzałem na uszkodzony obraz i kliknąłem widok, to pokazało mi, że obraz pochodzi z `example.com/files/2013/03/` \- jest to podobne do wszystkich innych witryn, które mam w sieci wszystkie mapują obrazy w ten sposób i te obrazy działają. Moim kolejnym podejrzeniem były uprawnienia do plików, sprawdziłem uprawnienia folderu "10", nie był taki sam jak reszta, więc zrobiłem `sudo chown -R nazwa_użytkownika 10` co zmieniło właściciela z Apache na mnie. Mimo to obrazy są przesyłane, ale są "zepsute", ponieważ nie można ich znaleźć. Więc przychodzę do was zapytać, **co się dzieje?**


title: System komentarzy Disqus nie działa

text: Niedawno kupiłem sobie Disqus na mojego bloga. Działało dobrze do dziś. Nie wiem, co zrobiłem - próbowałem wyłączyć wszystkie wtyczki, przełączając się między wersjami 2011 i 2012. Wyczyściłem także pamięć podręczną i wstrzymałem Cloudflare. Nie działa! :( Zajrzyj na moją stronę i zobacz, w czym problem! Disqus w ogóle nie działa!


title: Jak wyświetlić najnowsze posty z trzech różnych kategorii?

text:
W ten sposób próbuję ustawić stronę główną mojej witryny. Obecnie jedyny post na stronie głównej zawiera artykuł z podcastem. Aby to uprościć, podcast ma dwie osoby dyskutujące o sporcie i chcą napisać swój komentarz do każdego podcastu. Stworzyłem osobną kategorię dla każdej osoby i chciałbym wyświetlić ich komentarze pod podcastem, jak poniżej. Podcast, komentarz Steve'a, komentarz Matta Niewiele pracowałem z Loopem i tak jak powiedziałem, mam tylko najnowszy artykuł podcastu, ale teraz muszę dodać dwa komentarze, po jednym z każdej kategorii. Czy ktoś może mi pomóc, naprawdę jestem zdezorientowany? Wysłałem moją istniejącą pętlę <?php query_posts('category_name=Weekly Show&showposts=1'); if (have_posts()) : while (have_posts()) : the_post(); ?>

 < a href="<?php the_permalink() ?>" rel="zakładka" title="<?php printf(__('Stały link do %s', 'kubrick'), the_title_attribute('echo=0')) ; ?>"> <?php the_title(); ?>
 <?php ob_start(); ?> <?php $ikony = tablica(); ?> <?php if (!is_page()): ?><?php ob_start(); ?><img src="<?php bloginfo('template_url'); ?>/images/PostDateIcon.png" width="18" height="18" alt="" /> <?php the_time(__(' F jS, Y', 'kubrick')) ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (!is_page()): ?> <?php ob_start(); ?><?php _e('Autor', 'Kubrick'); ?>: <?php link_wpisów_autorskich() ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (current_user_can('edit_post', $post->ID)): ?><?php ob_start(); ?><?php edit_post_link(__('Edytuj', 'kubrick'), ''); ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (0 != liczba($ikony)): ?>
 <?php echo implode(' | ', $ikony); ?>
 <?php endif; ?> <?php $metadataContent = ob_get_clean(); ?> <?php if (trim($metadataContent) != ''): ?>
 <?php echo $metadataContent; ?>
 <?php endif; ?>
 <?php if (is_search()) the_excerpt(); else the_content(__('Przeczytaj resztę tego wpisu »', 'kubrick')); ?> <?php if (is_page() lub is_single()) wp_link_pages(array('before' => '
Strony: ', 'after' => '
' , 'następny_lub_numer' => 'numer')); ?>

 <?php ob_start(); ?> <?php $ikony = tablica(); ?> <?php if (!is_page()): ?><?php ob_start(); ?><img src="<?php bloginfo('template_url'); ?>/images/PostCategoryIcon.png" width="18" height="18" alt="" /> <?php printf(__(' Opublikowano w %s', 'kubrick'), get_the_category_list(', ')); ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (!is_page() && get_the_tags()): ?><?php ob_start(); ?><img src="<?php bloginfo('template_url'); ?>/images/PostTagIcon.png" width="18" height="18" alt="" /> <?php the_tags(__(' Tagi: ', 'kubrick') ' ', ', ', ' '); ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (!is_page() && !is_single()): ?><?php ob_start(); ?><img src="<?php bloginfo('template_url'); ?>/images/PostCommentsIcon.png" width="18" height="18" alt="" /> <?php comments_popup_link(__(' Brak komentarzy »', 'kubrick'), __('1 komentarz »', 'kubrick'), __('% komentarzy »', 'kubrick'), '', __('Komentarze zamknięte', 'kubrick') ); ?> <?php $ikony[] = ob_get_clean(); ?><?php endif; ?><?php if (0 != liczba($ikony)): ?>
 <?php echo implode(' | ', $ikony); ?>
 <?php endif; ?> <?php $metadataContent = ob_get_clean(); ?> <?php if (trim($metadataContent) != ''): ?>
 <?php echo $metadataContent; ?>
 <?php endif; ?>

 <?php comments_template(); ?> <?php koniec; endif; ?>
 <?php include (ścieżka_szablonu . '/sidebar2.php'); ?>

 <?php get_footer(); ?>


title: Dodaj nową stronę z wybranym rodzicem

text: Nie chcę, aby moi klienci podczas tworzenia strony podrzędnej wybierali stronę nadrzędną z listy rozwijanej, dlatego chciałbym utworzyć link na pulpicie nawigacyjnym, który prowadzi do "dodaj nową stronę" - ale ze wstępnie wybraną stroną nadrzędną. czy to możliwe? A jeśli nie, to czy istnieje sposób na zmianę domyślnego rodzica z „(brak rodzica)” na wybranego przeze mnie rodzica?


title: Uzyskanie wszystkich identyfikatorów pasujących do tytułu w niestandardowym typie posta

text: Próbuję wyciągnąć wszystkie identyfikatory postów o tym samym tytule. To jest w niestandardowym typie wpisu o nazwie „menedżer kursu”. Oto co mam do tej pory: $pages = array(); $args1 = array( 'post_type' => 'kierownik-kursu', 'posts_per_page' => -1, ); zapytanie_posty( $args1 ); $page = get_page_by_title( $current_post_title, 'OBIEKT', 'kierownik-kursu' ); while ( have_posts() ): the_post(); //odpytaj wszystkie strony i uzyskaj identyfikatory stron o określonym tytule. Umieść identyfikatory w tablicy i użyj tablicy w zapytaniu poniżej, aby zapytać o każdy identyfikator $pages[] = $page->ID; echo $strona->ID; koniec; wp_reset_postdata(); To powinno działać moim zdaniem. Mam cztery posty - dwa z tytułem, którego szukam, i dwa z innym tytułem... jednak zamiast dwóch różnych identyfikatorów postów, które chcę, otrzymuję 4 takie same identyfikatory postów. :/ Dziękuję


title: Jak mogę znaleźć ślimaka wtyczek?

text: Zastanawiam się, jak mogę znaleźć ślimak wtyczek (slug = nazwa wewnętrzna używana przez WordPress do aktualizacji wtyczek i określenia, które wtyczki są aktualnie aktywne)? Zwykle jest to nazwa folderu wtyczki, ale jeśli wtyczka nie ma folderu, jest to nazwa jego pliku (np. hello.php). Czy są jakieś inne wyjątki? 1. Czy małe i wielkie litery mają znaczenie? 2. Czy wtyczka może mieć inny slug niż nazwa folderu? Co jeśli istnieje wtyczka o nazwie hello.php i inna /hello.php/hello.php?


title: WP Wbudowany selektor słupków dla CPT

text: Jestem pewien, że pamiętam każdą wbudowaną funkcję WP, która generuje selektor postów na podstawie kilku argumentów (post_type itp.), Jak na stronie administracyjnej nav-menus, tutaj zrzut ekranu: ![tutaj wprowadź opis obrazu](http: //i.stack.imgur.com/SNiFI.jpg) Czy jest coś takiego, czy może o tym marzyłem? Jak byś to zaimplementował?


title: Przenoszenie witryny WordPress — problem z instalacją

text: Przeniosłem już wcześniej witryny Wordpress i od czasu do czasu napotykałem problemy, ale zawsze byłem w stanie je rozwiązać. Próbowałem to zrobić kilka razy na tej stronie, ale nadal mam ten sam problem z instalacją WordPressa w nowej lokalizacji. Moja baza danych wydaje się przesuwać bez problemu i mogę zalogować się do mojej witryny jako administrator, ale jeśli spróbuję odwiedzić moją witrynę, otrzymuję po prostu listę plików "indeks". Umieściłem zawartość folderu instalacyjnego WordPressa w /public_html/tassolarpanels.com.au. i dodałem plik .htaccess z 'DirectoryIndex index.php index.html' i nadal nie odnoszę sukcesu. Czy ktoś wie, gdzie może być mój problem? Próbowałem postępować zgodnie z tak wieloma różnymi instrukcjami dotyczącymi przenoszenia wordpress i nie mogę się zorientować, gdzie się mylę!


title: Witryna wielojęzyczna używająca tylko .mo i WPLANG

text: Witaj świecie/ Bonjour le monde, Jakie ograniczenia techniczne uniemożliwiają działanie następujących elementów (załóżmy, że cała zawartość statyczna z tłumaczeniami wykonanymi w pliku .mo) Pseudo kod: Dla każdego żądania: * Sprawdź, czy ciąg zapytania zawiera pole :myLang: * Jeśli wartość :myLang: równa się "en_US" * Następnie ~jakoś zmień WPLANG na "en_Us" (Lub zmuś Wordpress, aby zachowywał się tak, jakby WPLANG był faktycznie ustawiony na '') * Jeszcze żądanie jako francuskie używając fr_FR.mo jak zdefiniowano w wp-config.php Jestem niejasno świadomy, że ma to coś wspólnego ze sposobem, w jaki jest inicjowany Wordpress. Wiem, że WPLANG nie można zmienić w locie.


title: Strony administracyjne nie zawierają treści

text: Nie zwykły biały ekran jakiegokolwiek horroru, moja strona wyświetla się normalnie, dopóki nie przejdziesz do pulpitu administracyjnego. Chociaż pulpit nawigacyjny (lub menu administratora, jeśli chcesz) jest widoczny i odpowiednio reaguje, treść nie jest wyświetlana dla żadnej z sekcji/stron. Z wyjątkiem jednej, dwóch rzeczy: dodawania posta i edytowania starego. I oto, co otrzymuję: http://dumpt.com/img/files/jdyvf8206fkmi1w01e6u.png Animacja aktualizacji strony toczy się i toczy bez żadnych rzeczywistych zmian. Nigdzie nie znalazłem żadnych dyskusji na ten temat, więc... Potrzebuję pomocy :D


title: strona administracyjna przekazująca do siebie zmienne $_POST

text:
Jestem nowy w wordpressie, ale bardzo mi się to podoba i chciałbym pisać moje aplikacje w wordpressie. Jednak jest jeszcze wiele rzeczy do nauczenia i po pewnym czasie można stracić głowę, tak jak ja właśnie to zrobiłem. Szukałem rozwiązania przez ostatnie 2 dni na bardzo prostym problemie. Chcę ponownie załadować stronę administratora i przekazać zmienne $_POST. Właściwie chcę napisać mały program CRM w panelu administracyjnym, ponieważ jest on ładnie odsunięty od sekcji publicznej (frontowej). Może to nie jest właściwy sposób pracy, jeśli tak nie jest, daj mi znać. Pierwszym problemem, z którym się borykam, jest to, że nie mogę przekazać zmiennych $_POST naam i voornaam podczas ponownego wysyłania strony. Ponieważ wordpress przekazuje samą stronę jako zmienną. to jest prosty kod: /** Krok 2 (z tekstu powyżej). */ add_action( 'menu_admin', 'patientenbeheer' ); /** Krok 1. */ function patientenbeheer() { add_menu_page(__('patientenbeheer'), __('patientenbeheer'),'manage_options', basename(__FILE__), 'patientenbeheer_options'); } /** Krok 3. */ function patientenbeheer_options() { if ( !current_user_can( 'manage_options' )) { wp_die( __( 'Nie masz wystarczających uprawnień dostępu do tej strony.' ) ); } ?>

<?php _e('patientenbeheer'); ?>

 <form action="" method="post" enctype="multipart/form-data">
naam: <input type="text " name="naam" value="" /> voornaam: <input type="text" name="vnaam" value="" />
 <input type="prześlij" value="Prześlij" /> <?php if ( isset($_POST)) { if (! isset($_POST['vnaam'])){ echo "
 naam: ".$_POST['naam']."
" ; }elseif ( ! isset($_POST['naam'])){ echo "
 vnaam: ".$_POST['vnaam']."
"; } else { echo "
 obok
"; } } ?>
 </form>
 reload zwraca to: ../wp-admin/admin.php?page=martial-patientenbeheer.php jeśli zmienię tag formularza na następujący: Otrzymuję: . ./wp-admin/admin.php?naam=naam&vnaam= wartości $_POST są włączone, ale brakuje łącza do strony: martial-patientenbeheer.php. Powinien zostać przeładowany do: ../wp-admin/admin.php?page=martial-patientenbeheer.php?naam=naam&vnaam= Czy to możliwe, czy moja metoda pracy jest zła? Mówiąc prościej, chcę dodać tekst do mojej strony za każdym razem, gdy przekazywane są zmienne. Tekst będący informacją z zapytania lub pól sql select służących do dodania nowego pacjenta.


title: Uzyskać wynik zapytania przed wyświetleniem postów?

text: Jeśli chcę zmodyfikować zapytanie, mogę użyć filtra `pre_get_posts`. Ale co, jeśli chcę przejrzeć w pętli posty, których dotyczy zapytanie, zanim zostaną one przepuszczone przez „Pętlę”? Czy jest do tego hak filtra/działania? Chcę się dowiedzieć, czy wszystkie posty, których dotyczy zapytanie, należą do tego samego „terminu”, a następnie zrobić coś, jeśli tak nie jest. Pamiętaj, że tworzenie niestandardowego zapytania „zapytanie” nie jest opcją.


title: Zmień kolejność niestandardowej listy taksonomii

text: Domyślnie WordPress porządkuje niestandardowe taksonomie (w tym przypadku jako znaczniki) według kolejności alfabetycznej, a nie według kolejności, w jakiej zostały wprowadzone w polu znacznika. Czy ktoś wie, jak pokazać niestandardowe taksonomie w kolejności, w jakiej zostały wprowadzone na ekranie edycji posta? Adres URL, o którym mowa, to: http://granadatheater.com/ Artyści GGW (Goes Good With) są obecnie w porządku alfabetycznym i chcą go zmienić, aby byli uporządkowani w ten sam sposób, w jaki zostali wprowadzeni. Więc jeśli wpiszesz Artist1, Artist3, Artist2, tak powinno pojawić się na interfejsie witryny.


title: Jak odindeksować pojedynczy blog w Multisite?

text: Czy mimo to można anulować indeksowanie pojedynczego bloga w Multisite z wyszukiwarek?


title: Lista taksonomii niestandardowych w dwóch kolumnach

text:
Używam tego, aby uzyskać listę taksonomii. Dla każdego posta jest ponad 20 terminów. Jak mogę je zdobyć w dwóch kolumnach. echo '
'; echo strip_tags( get_the_term_list( $post->ID, 'handel', '
', '

', '
' ) ,'
'); echo '
';


title: Zmienić nazwę ślimaka „Portfolio”?

text: Mam motyw WordPress, nad którym pracuję, o nazwie „Forte”. Tak, to motyw premium. Skontaktowałem się z deweloperem, ale najwyraźniej on tak naprawdę nie chce pomagać w tej sytuacji. Cóż, muszę zmienić ślimak "portfolio" na coś innego. „Portfolio” w ogóle nie działa z witryną, nad którą pracuję. W przeszłości znalazłem `'rewrite' => array(“slug” => “portfolio”),` w `functions.php` i zmieniłbym to na `'rewrite' => array(“ ślimak” => „NOWA-NAZWA-ŚLUGU”),`. Jednak w tym temacie deweloper wydaje się robić to inaczej. Poniżej znajduje się kod w pliku o nazwie `pix_post-types.php`, który wydaje się obsługiwać to. Nie jestem programistą PHP, ale potrafię sporo edytować i rozumiem to mniej więcej. Naprawdę byłbym wdzięczny za pomoc! <?php add_action('init', 'register_testimonial'); function register_testimonial() { $args = array( 'labels' => array( 'name' => __( 'Referencje' ), 'singular_name' => __( 'Referencje' ), 'add_new' => _x('Dodaj new', 'referencja'), 'add_new_item' => __('Dodaj nową opinię'), 'edit_item' => __('Edytuj opinię'), 'new_item' => __('Nowa opinia'), ' view_item' => __('Wyświetl referencje'), ), 'capability_type' => 'strona', 'has_archive' => fałsz, 'hierarchical' => fałsz, 'menu_position' => 22, 'public' => fałsz , 'singular_label' => __('Referencje'), 'show_ui' => true, 'supports' => array( 'title', 'thumbnail', 'editor', 'custom-fields', 'revisions') ) ; register_post_type( 'referencja' , $args ); } add_action('init', 'register_portfolio'); function register_portfolio() { $args = array( 'labels' => array( 'name' => __( 'Portfolio' ), 'singular_name' => __( 'Portfolio' ), 'add_new' => _x('Dodaj nowy', 'portfolio'), 'add_new_item' => __('Dodaj nowy element'), 'edit_item' => __('Edytuj element'), 'new_item' => __('Nowy element'), ' view_item' => __('Wyświetl element'), ), 'capability_type' => 'strona', 'has_archive' => prawda, 'hierarchical' => fałsz, 'menu_position' => 20, 'public' => prawda , 'rewrite' => true, 'singular_label' => __('Portfolio'), 'show_ui' => true, 'supports' => array( 'title', 'thumbnail', 'editor', 'excerpt', „trackbacki”, „pola niestandardowe”, „komentarze”, „poprawki”) ); register_post_type( 'portfolio' , $args ); } add_action( 'init', 'create_portfolio_taxonomies', 0 ); //utwórz dwie taksonomie, gatunki i pisarzy dla funkcji typu post "book" create_portfolio_taxonomies() { // Dodaj nową taksonomię, ustaw ją hierarchicznie (jak kategorie) $labels = array( 'name' => _x( 'Galerie', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Galeria', 'nazwa j.poj. taksonomii' ), 'search_items' => __( 'Przeszukaj galerię' ), 'all_items' => __( 'Wszystkie galerie' ) , 'parent_item' => __( 'Galeria nadrzędna' ), 'parent_item_colon' => __( 'Galeria nadrzędna:' ), 'edit_item' => __( 'Edytuj galerię' ), 'update_item' => __( 'Aktualizuj Galeria' ), 'add_new_item' => __( 'Dodaj Nową Galerię' ), 'new_item_name' => __( 'Nazwa Nowej Galerii' ), 'menu_name' => __( 'Galerie' ), ); register_taxonomy('gallery',array('portfolio'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array ('hierarchiczny' => prawda) )); // Dodaj nową taksonomię, NIE hierarchiczną (jak tagi) $labels = array( 'name' => _x( 'Tags', 'nazwa ogólna taksonomii' ), 'singular_name' => _x( 'Tag', 'nazwa pojedyncza taksonomii ' ), 'search_items' => __( 'Wyszukaj tagi' ), 'popular_items' => __( 'Popularne tagi' ), 'all_items' => __( 'Wszystkie tagi' ), 'parent_item' => null, ' parent_item_colon' => null, 'edit_item' => __( 'Edytuj tag' ), 'update_item' => __( 'Aktualizuj tag' ), 'add_new_item' => __( 'Dodaj nowy tag' ), 'new_item_name' = > __( 'Nowa nazwa tagu' ), 'separate_items_with_commas' => __( 'Oddziel tagi przecinkami. Będą używane do filtrowania elementów portfolio' ), 'add_or_remove_items' => __( 'Dodaj lub usuń tagi' ), ' select_from_most_used' => __( 'Wybierz spośród najczęściej używanych tagów' ), 'menu_name' => __( 'Tagi' ), ); register_taxonomy('portfolio_tag','portfolio',array( 'hierarchical' => false, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug ' => 'portfolio_tag' ), )); } /*================================================= =========================================== */ ?>


title: zaloguj się w wordpressie za pomocą konta gmail

text: Wdrażam logowanie w mojej witrynie WordPress tylko dla pracowników firmy. Chcę, aby użytkownik mógł zalogować się tylko za pomocą firmy o podanym identyfikatorze poczty Gmail i nikt inny nie może zobaczyć szczegółów strony internetowej, co powinienem zrobić. Jestem w tym nowy, pomóż mi. Z góry dziękuję....


title: Migracja tylko plików multimedialnych

text: Mam specyficzną sytuację. Chcę przenieść moją witrynę Wordpress do nowej sytuacji hostingowej. Witryna miała w przeszłości dziwne problemy, więc planowałem przeprowadzić nową instalację Wordpressa i przebudować witrynę, aby uniknąć zabierania ze sobą bagażu. Jednak będę chciał dokładnie odtworzyć niektóre strony. Aby ułatwić ten proces, chciałbym po prostu skopiować i wkleić kod HTML tych stron. Jedynym problemem jest to, że adresy URL obrazów nie będą takie same. Czy mogę po prostu skopiować moje pliki multimedialne do nowej instalacji Wordpress, aby adresy URL obrazów były takie same? A może jest z tym jakiś problem?


title: Osadź wideo YouTube z wartości pola niestandardowego

text: Zbieram linki wideo Youtube w polach niestandardowych, ale kiedy wyświetlam wartość, wyświetla tylko adres URL. Jak sprawić, by WordPress przekonwertował go na osadzony? Przykład: <?php global $post; $video = get_post_meta( $post->ID, '_my_video_link', true ); echo ( $wideo ); ?> Po prostu wyświetla `http://www.youtube.com/watch?v=tkEvSjdDfiA` Ale chcę, żeby wyświetlał rzeczywisty film... Dzięki za wszelkie rady


title: Mam problem z tytułem strony głównej

text: Używam WordPressa i wtyczki "All in one SEO pack". Ustawiam tytuł, opisy i słowa kluczowe i wszystko działa dobrze na stronie. Potem przypadkowo szukałem swojej witryny w Google. Wprowadzam moją domenę w wyszukiwarce i kiedy znalazłem swoją stronę, zdziwiłem się, że mój tytuł nie jest taki sam jak na mojej stronie. To zupełnie inny tytuł, ale opis jest dobry. Próbuję kilku zmian, ale nie widać tego w momencie, w którym się zmieniam. Nie wiem w czym może być problem. Czy ktoś może mi powiedzieć, dlaczego tak się dzieje?


title: Sortuj wtyczki według oceny

text: Kiedy chcę zainstalować nową wtyczkę Wordpress, wyszukuję żądaną wtyczkę i otrzymuję listę wyników. Czy istnieje sposób sortowania wyników według oceny lub nazwy? Jeśli nie, byłby to przydatny dodatek do Wordpressa.


title: Jak zmniejszyć liczbę stron w paginacji?

text: Poniższy kod to funkcja do paginacji w moim blogu wordpress. Obecnie wyprowadza 7 stron, a następnie .. ostatni numer strony. Jak mogę zmniejszyć tę liczbę, aby wyświetlała tylko 5 stron, a następnie ... ostatni numer strony? function emm_paginate_loop($start, $max, $strona = 0) { $output = ""; for ($i = $start; $i <= $max; $i++) { $wyjście .= ($strona === intval($i)) ? „$i” : „$i"; } return $wyjście; }


title: Użyć informacji o stronie w WP_Query?

text: Robię kilka niestandardowych pętli, które inicjuję za pomocą zapytania takiego jak to $the_query = new WP_Query('page_id=266'); To działa dobrze. Po prostu chciałbym zadzwonić na moją stronę z jego ślimakiem, a nie jego identyfikatorem. Czy byłoby możliwe ?


title: Unikaj zduplikowanych postów WP_Query z taksonomiami

text: Mając blog zawierający kilka kategorii (takich jak „Sport”, „Natura” itp.), zacząłem tworzyć niestandardową taksonomię, która pozwala mi wyświetlać artykuły w niektórych obszarach mojego bloga z terminami takimi jak „pokaz slajdów” , „sidebar- Highlight”, „top-category” itp. Wewnątrz paska bocznego utworzyłem obszar, w którym artykuły (z tej samej kategorii, powiedzmy „Nature”) są pokazywane za pomocą dwóch różnych pętli. Pierwszy z nich pokazuje tylko jeden artykuł (pierwszy w porządku chronologicznym, z kategorii natura, który również znajduje się wewnątrz terminu taksonomii „boczne wyróżnienie”) z wyróżnionym obrazem, tytułem i fragmentem, podczas gdy drugi pokazuje tylko najnowsze 3 artykuły z kategorii Natura. Aby uniknąć duplikatów, użyłem następującego kodu: ` $nature_loop_1 = new WP_Query( array ( 'category_name' => 'nature', 'tax_query' => array ( 'taxonomy' => 'highlight' , 'field' => 'slug', 'terms' => 'sidebar-highlight', 'operator' => 'IN' ) ), ) ); $nature_loop_2 = new WP_Query( array ( 'category_name' => 'nature', 'tax_query' => array ( 'taxonomy' => 'podświetl', 'field' => 'slug', 'terms' => ' sidebar-highlight', 'operator' => 'NOT IN' ) ), ) ); ` Jednak chociaż to działa, oznacza to, że artykuły z „podświetlenia paska bocznego” nigdy nie będą wyświetlane w drugiej pętli, bez względu na to, kiedy zostały opublikowane. Zastanawiałem się więc, czy jest jakiś sposób, aby uniknąć duplikatów, jednocześnie zezwalając na wyświetlanie artykułów z „wyróżnienia paska bocznego”. Z góry dziękuję.


title: Jak działa dodawanie niestandardowej meta do formularza rejestracyjnego?

text: Idąc za odpowiedzią zamieszczoną tutaj, Jak dodać niestandardowe opcje bloga do nowego formularza konfiguracji bloga? Próbuję zrozumieć, dlaczego niestandardowa meta jest dodawana do tabeli opcji dla bloga, o ile nie pozwalam na uruchomienie update_blog_option(). Dodałem echo i exit() przed tą funkcją, aby upewnić się, że wartości są poprawne, i wypełniła poprawną wartość w tabeli opcji. Ale kiedy usuwam exit() i pozwalam mu działać, NIE zapełnia się. Kod, o którym mowa, to add_action('wpmu_new_blog', 'process_extra_field_on_blog_signup', 10, 6); function process_extra_field_on_blog_signup($blog_id, $user_id, $domain, $path, $site_id, $meta) { update_blog_option($blog_id, 'extra_field', $meta['extra_field']); } Dodatkowo, co dokładnie robi tabela wp_signups? Czy jest to tymczasowe miejsce przechowywania rejestracji do czasu aktywacji? I czy te dane są przekazywane do bloga po aktywacji? W takim przypadku meta, która jest tam przechowywana, i tak zostałaby przekazana, prawda? Kod użyty do dodania niestandardowej meta to add_filter('add_signup_meta', 'append_extra_field_as_meta'); function append_extra_field_as_meta($meta) { if(isset($_REQUEST['extra_field'])) { $meta['extra_field'] = $_REQUEST['extra_field']; } return $meta; } I to jest właściwie przechowywane w tabeli wp_signups. Dziękuję za pomoc.


title: Usuń oryginalny obraz o dużym rozmiarze po przesłaniu i pozostaw tylko 3 obrazy pochrupane przez galerię multimediów

text: Muszę wiedzieć, czy można jakoś wymazać oryginalny obraz przesłany przez formularz Gravity: obraz posta - pole postu?! W obecnej sytuacji otrzymuję 4 zdjęcia. 1 oryginał (może być to, co użytkownik ma na swoim komputerze - do 4 MB, co zaśmieca serwer) i 3, które Wordpress tworzy zgodnie ze specyfikacją (miniaturka, średnia, duża). Chciałbym mieć możliwość usunięcia "oryginalnego dużego obrazu" po przesłaniu przez użytkownika i pozostawienia 3 pozostałych w galerii multimediów?!. Znacznie poprawi pamięć na moim serwerze. Twoje zdrowie!


title: Wtyczka sugestii i głosowania dla Wordpress

text: Szukam wtyczki do wordpress 3, która pozwoli mi skonfigurować stronę sugestii. Opublikuję pytanie lub pomysł na górze, a następnie użytkownicy będą mogli zamieszczać swoje sugestie w komentarzach. następnie inni użytkownicy mogą głosować na najlepsze sugestie, a komentarze są sortowane według liczby otrzymanych głosów. Myślę o czymś w rodzaju sposobu działania systemu dialogów Digg, w którym 10 najlepszych pytań zostanie przegłosowanych od dołu i zostanie wykorzystanych w programie. Trochę polowałem i nie mogłem znaleźć niczego podobnego. Gdyby ktoś mógł wskazać mi właściwy kierunek, byłoby wspaniale! Dziękuję,


title: Wyświetl listę ostatnich 25 blogów w sieci

text:
Muszę wymienić ostatnie 25 blogów w sieci wraz z ich tytułem. Jak edytować ten kod? $bcount = get_blog_count(); globalny $wpdb; $blogs = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE spam = '0' AND usunięty = '0' i zarchiwizowany = '0' i public='1'") ); if(!empty($blogs)){ ?>
<?php foreach($blogs as $blog){ $details = get_blog_details($blog->blog_id); if($szczegóły != false){ $addr = $szczegóły->siteurl; $nazwa = $szczegóły->nazwa bloga; if(!(($blog->blog_id == 1)&&($show_main != 1))){ ?> <li class="menu-item<?php if($counter == get_current_blog_id()){ echo ' bieżący element-menu';}?>"> <a href="<?php echo $addr; ?>"><?php echo $nazwa;?>
 <?php } } } ?>
<?php }


title: Sortuj posty według wartości liczbowej pola niestandardowego za pomocą listy rozwijanej

text: Przeczytałem wiele odpowiedzi i pytań o rzeczy, które są bardzo podobne do tego, ale po prostu nie mogę zmusić ich do pracy w mojej konkretnej sytuacji. Mam kilka postów z kategorią "nieruchomość". W `category.php` chcę, aby te posty pojawiały się początkowo w rosnącej kolejności dat (jak zwykle). Następnie chcę mieć rozwijane menu, które daje możliwość przeglądania: * cena od najwyższej do najniższej * cena od najniższej do najwyższej * najnowsza (domyślnie). Każdy post ma przypisane niestandardowe pole „cena_własności”, które jest wartością liczbową. Potrzebuję też stronicowania do pracy. Initial idzie w parze z moim `query_posts`: <?php if ( have_posts() ): $paged = ( get_query_var('paged')) ? get_query_var('stronicowane') : 1; $args = array( 'meta_key' => 'property_price', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'paged' => $paged ); zapytanie_posty( $args ); while ( have_posts() ): the_post(); To po prostu renderuje listę. Jednak nawet w tym momencie utknąłem, ponieważ WordPress nalega na zamawianie takich rzeczy: 1, 10, 100, 2, 3, a więc nie w odpowiedniej kolejności. Myślałem, że użycie `'orderby' => 'meta_value_num'` powinno rozwiązać ten problem? Jeśli ktoś może pomóc, będę bardzo wdzięczny. Bądź dla mnie delikatna, nie jestem ekspertem, więc bezbłędne instrukcje zostały przyjęte z radością. Z góry dziękuję.


title: WP_Query z niestandardowym identyfikatorem typu postu

text: Ten kod niczego nie powtarza, mimo że jestem w 100% pozytywny $mixtape_id jest ustawiony na liczbę całkowitą, która odpowiada jednemu z postów w niestandardowym typie postu „mixtape” $query = new WP_Query(array( 'post_type' => 'mixtapes', 'p' => (int)$mixtape_id, 'posts_per_page' => -1, 'orderby' => 'meta_value_num', 'meta_key' => 'track_number' )); while ( $query->have_posts() ): $query->the_post(); ?> <track> <location>utwór1.mp3</location> <creator>Nazwa wykonawcy</creator> <title>Ścieżka 1</title> </track> <?php endwhile; ?>


title: pasek narzędzi niewidoczny na stronach korzystających z szablonu pierwszej strony

text: Mój profil jest ustawiony tak, aby wyświetlać pasek narzędzi WP podczas przeglądania witryny, ale na stronie korzystającej z szablonu front-page.php miejsce na pasek narzędzi jest zarezerwowane, ale jego zawartość nie jest widoczna. Co mogłoby być tego przyczyną?


title: Strona 404 podczas usuwania spamu lub usuwania wtyczki

text: Niedawno mój host przeprowadził migrację witryny na nowy serwer w tej samej sieci. Zauważyłem, że na pulpicie WordPress, jeśli spróbuję wykonać jedną z poniższych czynności... Opróżnij wtyczkę usuwania spamu Otrzymuję błąd 404, wyobrażam sobie, że ma to związek z migracją, ale jeśli chodzi o radzenie sobie z moimi hostami, może ktoś sugeruje obszar, na którym należy się skoncentrować, aby to naprawić?


title: Edycja listy kilku pól

text: Muszę edytować listę cytatów. Każdy cytat składa się z (krótkiego) tekstu, nazwiska autora, tytułu autora. Jak najlepiej stworzyć edytor takich danych w WordPressie? Wydaje się, że najprostszym rozwiązaniem jest stworzenie własnego typu posta. Czy tekst cytatu powinien stać się tytułem posta? (To nie do końca tytuł, logicznie rzecz biorąc.) Jeśli nie z typami postów, to w jaki sposób? Zauważ, że potrzebuję dwóch list cytatów (w dwóch językach).


title: Udostępniający Facebooka i parametry w adresie URL

text: Tak więc po wielu kłopotach (i dzięki tej odpowiedzi) udało mi się poprawić wygląd parametru GET w adresie URL, od `www.url.com/mypage/?id=123` do `www.url.com/mypage/ 123/` Miałem nadzieję, że rozwiąże to problem z przekierowaniami z udostępniaczem Facebooka, ale tak się nie stało. Facebook nadal rozpoznaje mój udostępniony adres URL jako `www.url.com/mypage/` Jak to w ogóle możliwe? Studiując kilka reguł przepisywania Wordpressa, dowiedziałem się, że kiedy wpisuję (link1) `www.url.com/nameofpage/` w rzeczywistości zostaje mi przekierowany do (link2) `www.url.com/?pagename=nameofpage`. Dlaczego więc udostępniając link1 rozpoznaje go bez przekierowywania do link2? Jak mogę udostępnić link, który chcę (z parametrem id) i sprawić, by działał bez przekierowań? * * * Edycja: mój kod do przepisywania adresu URL add_action( 'init', 'miareg' ); funkcja miareg(){ add_rewrite_tag("%id%", '(\d+)'); add_rewrite_rule('^flipbook/([^/]*)/?','index.php?page_id=6031&id=$matches[1]','top'); } Prawdziwa nazwa strony, którą muszę udostępnić, to /flipbook/, a parametr to "id"; na przykład muszę udostępnić `www.mywebsite.com/flipbook/?id=82`. Aby wyjaśnić `page_id=6031` : jest to oczywiście id strony (nie ma nic wspólnego ze wspomnianym wcześniej id - parametrem)


title: Wyklucz jedną kategorię z get_the_term_list

text: Chcę wykluczyć z moich postów jedną z kategorii, która zawsze będzie taka sama, nazwana „dokumentatorzy” i identyfikatorem 20. Oto kod: <?php echo get_the_term_list( get_the_ID(), 'project_category', '' , ', ' ); ?>


title: Funkcja wywołania zwrotnego register_settings stwarza problem

text:
Cześć Piszę tę wtyczkę jako ćwiczenie i wszystko działa, z wyjątkiem sytuacji, gdy próbuję zweryfikować przesyłanie obrazu za pomocą funkcji wywołania zwrotnego register_setting, w ogóle nie zapisuje danych w options.php. Oto kod. Podkreślę problematyczny obszar. To jest linia, w której mam problem. register_setting('JW_options_page', 'JW_options_page',array($this, 'jw_validate_setting')); Jeśli usunę tablicę ($this, 'jw_validate_setting')); wszystko działa poza tym, że nie mogę przesłać obrazu. <?php /* Nazwa wtyczki: Theme Admin Panel URI wtyczki: http://www.orangecreative.net Opis: Dodaje dodatkową funkcjonalność dla użytkowników z ograniczonym dostępem. Autor: S. Abdullah Wersja: 1.0 URI autora: http://www.orangecreative.net */ class JW_options{ public $options; funkcja publiczna __construct(){ $this->options = get_option('JW_options_page'); $this->register_settings_and_fields(); } public function admin_menu_page(){ add_options_page('Opcje motywu', 'Opcje motywu', 'administrator', __FILE__, array('JW_options', 'display_options_page')); } public function display_options_page(){ ?>

Opcje Mojego motywu
 <?php var_dump(get_option('JW_options_page')); ?> <form action="options.php" method="post" enctype="multipart/form-data"> <?php settings_fields('JW_options_page'); ?> <?php do_settings_sections(__FILE__); ?>
 <input type="submit" value="Zapisz zmiany" class="button-primary"/>
 </form>
 <?php } funkcja publiczna register_settings_and_fields(){ register_setting('JW_options_page', 'JW_options_page',array($this, 'jw_validate_setting')); add_settings_section('jw_main_section', 'Ustawienia główne', array($this, 'jw_main_section_cb'), __FILE__); add_settings_field('jw_banner_heading', 'Nagłówek banera :', array($this, 'jw_banner_heading_settings'), __FILE__, 'jw_main_section'); add_settings_field('jw_logo', 'Twoje logo :', array($this, 'jw_logo_setting'), __FILE__, 'jw_main_section'); add_settings_field('jw_color_scheme', 'Twój pożądany kolor:', array($this, 'jw_color_scheme_setting'), __FILE__, 'jw_main_section'); } funkcja publiczna jw_validate_setting($plugin_options){ echo('ccsjdncjncdjcndjcndjcncjdncjdcndj'); // if(!empty($_FILES['jw_logo_upload']['temp_name'])){ // $override = array('test_form' => false); // $plik = wp_handle_upload($_FILES['jw_logo_upload'], $override); // print_r($plik); // // } } public function jw_main_section_cb(){ //opcjonalna } public function jw_banner_heading_settings(){ echo "<input name='JW_options_page[jw_banner_heading]' type='text' value='{$this->options[' jw_banner_heading']}'/>" ; } public function jw_logo_setting(){ echo "<typ danych wejściowych='nazwa pliku'='JW_options_page[jw_logo_upload]'/>" ; } funkcja publiczna jw_color_scheme_setting(){ $items = array('Czerwony','Niebieski','Czarny'); echo '<select name="JW_options_page[jw_options_page]">'; foreach($items as $item){ echo "<option value='$item'>$item</option>"; } echo '</select>'; } } if(is_admin()){ add_action('admin_menu',function(){ JW_options::admin_menu_page(); }); add_action('admin_init', function(){ new JW_options(); }); }


title: Niestandardowy filtr typu posta jest stosowany do wszystkich moich postów

text: Stworzyłem filtr, aby zmienić haczyk `the_title` w jednym z moich niestandardowych typów postów (dzięki Chipowi Bennettowi za fragment). Funkcja ma powiedzieć Wordpressowi, aby wywołał tytuł z niestandardowego pola (`_location`) na mojej niestandardowej stronie typu post. Problem polega na tym, że wszystkie moje strony i posty w Wordpress wyświetlają komunikat „Brak tytułu”. Zamiast tego chcę, aby zwykłe posty wyświetlały swoje tytuły normalnie, a następnie chcę, aby mój niestandardowy tytuł posta wyświetlał zawartość z mojego niestandardowego pola. Oto kod, który filtruje tytuły: function change_title ( $title ) { if ( !'events' == get_post_type() ) { return $title; } inny { globalny $post; $custom = ( get_post_custom( $post->ID ) ? get_post_custom( $post->ID ) : false ); $custom_title = ( isset( $custom['_location'][0] ) ? $custom['_location'][0] : '(Brak tytułu)' ); zwróć $custom_title; } } add_filter( 'tytuł', 'zmień_tytuł' ); Oto mój cały plik functions.php: <?php // Rejestruje nowy typ wiadomości i funkcję taksonomii wpt_event_posttype() { register_post_type( 'events', array( 'labels' => array( 'name' => __( 'Widżety niestandardowe ' ), 'singular_name' => __( 'Niestandardowy widżet' ), 'add_new' => __( 'Dodaj niestandardowy widżet' ), 'add_new_item' => __( 'Dodaj nowy niestandardowy widżet' ), 'edit_item' => __( 'Edytuj niestandardowe widżety' ), 'new_item' => __( 'Dodaj nowe niestandardowe widżety' ), 'view_item' => __( 'Wyświetl niestandardowe widżety' ), 'search_items' => __( 'Wyszukaj niestandardowe widżety' ), 'not_found' => __( 'Nie znaleziono niestandardowych widżetów' ), 'not_found_in_trash' => __( 'Nie znaleziono niestandardowych widżetów w koszu' ) ), 'public' => true, 'supports' => array( ' custom_fields' ), 'capability_type' => 'post', 'rewrite' => array("slug" => "events"), // Format permalinków 'menu_position' => 99, 'register_meta_box_cb' => 'add_events_metaboxes' ) ); } add_action( 'init', 'wpt_event_posttype' ); // Dodaj funkcję meta pola tytułu niestandardowego widżetu add_events_metaboxes() { add_meta_box('wpt_events_location', 'Tytuł niestandardowego widżetu', 'wpt_events_location', 'events', 'normal', 'high'); // Dodaj metapole przypisania szablonu strony add_meta_box('pagetemplate', 'Przypisania szablonu strony', 'pagetemplate', 'events', 'normal', 'high'); // Dodaj metaBox przypisań postów add_meta_box('postassignments', 'postassignments', 'postassignments', 'events', 'normal', 'high'); // Dodaj dodatkowe filtry Meta Box add_meta_box('additionalfilters', 'Dodatkowe filtry', 'additionalfilters', 'events', 'normal', 'high'); } // Wywołanie zwrotne funkcji metaboksu tytułu niestandardowego widżetu wpt_events_location() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="eventmeta_noncename" id="eventmeta_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ).'" />'; // Pobierz dane tytułu, jeśli zostały już wprowadzone $boxtitle = get_post_meta($post->ID, '_location', true); // Echo z pola echo '<input type="text" name="_location" value="' . $boxtitle . '" class="widefat" />'; } // Wywołanie zwrotne dla funkcji metaboksu przypisania szablonu strony pagetemplate() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="pagetemplatemeta_noncename" id="pagetemplate_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ).'" />'; // Pobierz dane tytułu, jeśli zostały już wprowadzone $boxtitle2 = get_post_meta($post->ID, 'page_template', true); // Echo z pola echo '<input type="text" name="page_template" value="' . $boxtitle2 . '" class="widefat" />'; } // Funkcja zwrotna dla funkcji post Assignmets Metabox postassignments() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="postassignmentsmeta_noncename" id="postassignments_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ).'" />'; // Pobierz dane tytułu, jeśli zostały już wprowadzone $boxtitle3 = get_post_meta($post->ID, 'post-assign', true); // Echo z pola echo '<input type="text" name="post_assign" value="'. $boxtitle3. '" class="widefat" />'; } // Funkcja zwrotna dla dodatkowych filtrów Metabox function extrafilters() { global $post; // Noncename potrzebne do sprawdzenia, skąd pochodzą dane echo '<input type="hidden" name="additionalfiltersmeta_noncename" id="additionalfilters_noncename" value="' . wp_create_nonce( plugin_basename(__FILE__) ) '" />'; // Pobierz dane tytułu, jeśli zostały już wprowadzone $boxtitle4 = get_post_meta($post->ID, 'additional_filters', true); // Echo z pola echo '<input type="text" name="additional_filters" value="' . $boxtitle4 . '" class="widefat" />'; } // Zapisz funkcję Metabox Data wpt_save_events_meta($post_id, $post) { // zweryfikuj, że pochodzi z naszego ekranu i z odpowiednią autoryzacją, // ponieważ save_post może zostać wywołany w innym czasie, jeśli ( !wp_verify_nonce( $_POST[' eventmeta_noncename'], plugin_basename(__FILE__) )) { return $post->ID; } // Czy użytkownik może edytować post lub stronę? if ( !current_user_can( 'edit_post', $post->ID )) return $post->ID; // OK, jesteśmy uwierzytelnieni: musimy znaleźć i zapisać dane // Umieścimy je w tablicy, aby ułatwić pętlę. $events_meta['_location'] = $_POST['_location']; // Dodaj wartości $events_meta jako pola niestandardowe dla każdego ($events_meta as $key => $value) { // Przejdź przez tablicę $events_meta! if( $post->post_type == 'weryfikacja' ) return; // Nie przechowuj niestandardowych danych dwa razy $value = implode(',', (array)$value); // Jeśli $value jest tablicą, przekształć ją w CSV (mało prawdopodobne) if(get_post_meta($post->ID, $key, FALSE)) { // Jeśli niestandardowe pole ma już wartość update_post_meta($post->ID , $klucz, $wartość); } else { // Jeśli niestandardowe pole nie ma wartości add_post_meta($post->ID, $key, $value); } if(!$wartość) delete_post_meta($post->ID, $klucz); // Usuń jeśli puste } } add_action('save_post', 'wpt_save_events_meta', 1, 2); // zapisz niestandardowe pola add_filter( 'manage_edit-events_columns', 'my_edit_events_columns' ); function my_edit_events_columns( $kolumny ) { $kolumny = array( 'cb' => '<input type="pole wyboru" />', 'title' => __( 'Niestandardowy tytuł widżetu' ), 'page_assign' => __( 'Przypisania szablonu strony' ), 'post_assign' => __( 'Przypisania posta' ), 'additional' => __( 'Dodatkowe filtry' ), 'data' => __( 'Data') ); return $kolumny; } add_action( 'manage_events_posts_custom_column', 'my_manage_events_columns', 10, 2 ); function my_manage_events_columns( $kolumna, $post_id ) { global $post; switch( $column ) { /* Jeśli wyświetlasz kolumnę 'duration'. */ case 'page_assign' : /* Pobierz meta posta. */ $page_assign = get_post_meta( $post_id, 'page_assign', true ); /* Jeśli nie zostanie znaleziony czas trwania, wypisz domyślną wiadomość. */ if ( empty( $page_assign ) ) echo __( 'Nieznane' ); /* Jeśli istnieje czas trwania, dołącz 'minuty' do ciągu tekstowego. */ else printf( __( '%s minut' ), $page_assign ); przerwanie; /* Jeśli wyświetlasz kolumnę 'duration'. */ case 'post_assign' : /* Pobierz meta posta. */ $post_assign = get_post_meta( $post_id, 'post_assign', true ); /* Jeśli nie zostanie znaleziony czas trwania, wypisz domyślną wiadomość. */ if ( empty( $post_assign ) ) echo __( 'Nieznane' ); /* Jeśli istnieje czas trwania, dołącz 'minuty' do ciągu tekstowego. */ else printf( __( '%s minut' ), $post_assign ); przerwanie; /* Jeśli wyświetlasz kolumnę „gatunek”. */ case 'additional' : /* Pobierz gatunki dla posta. */ $terms = get_the_terms( $post_id, 'additional' ); /* Jeśli znaleziono terminy. */ if ( !empty( $terms )) { $out = array(); /* Przejrzyj każdy termin, łącząc się ze stroną „edytuj posty” dla określonego terminu. */ foreach ( $terms as $term ) { $out[] = sprintf( '%s', esc_url( add_query_arg( array( 'post_type' => $post- >post_type, 'additional' => $term->slug ), 'edit.php' ) ), esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, 'additional', 'display' )) ); } /* Połącz terminy, oddzielając je przecinkiem. */ echo join( ', ', $out ); } /* Jeśli nie znaleziono żadnych terminów, wypisz komunikat domyślny. */ else { _e( 'Brak dodatkowych filtrów' ); }                  przerwanie; /* Po prostu wyrwij się z instrukcji switch dla wszystkiego innego. */ domyślnie : przerwa; } } function change_title ( $title ) { global $post; if ( !'events' == get_post_type( $post )) { return $title; } else { $custom = ( get_post_custom( $post->ID ) ? get_post_custom( $post->ID ) : false ); $custom_title = ( isset( $custom['_location'][0] ) ? $custom['_location'][0] : '(Brak tytułu)' ); zwróć $custom_title; } } add_filter( 'tytuł', 'zmień_tytuł' );


title: Dlaczego funkcje czasu pokazują nieprawidłową strefę czasową podczas używania formatu czasu „c”?

text: Oto funkcje, których używam w moim motywie do wyświetlania „meta wpisu”, która zawiera między innymi daty **publikacji** i **ostatniej modyfikacji** artykułu: // Pokazuje autora i datę opublikowania, jeśli ( ! function_exists( 'reddle_posted_on' ) ) : function reddle_posted_on() { printf( __( 'Wysłane przez %7$s — <time datetime="%3$s" pubdate>%4$s</time>', 'reddle' ), esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), sprintf( esc_attr__( 'Wyświetl wszystkie' posty' %swolf, ), pobierz_autora() ), esc_html( pobierz_autora() ) ); } endif; // Pokazuje datę ostatniej modyfikacji if ( ! function_exists( 'reddle_last_modified_on' ) ) : function reddle_last_modified_on() { printf( __( 'Ostatnia aktualizacja <time class="updated" itemprop="dateModified" datetime="%2$s" >%3$s</time>', 'reddle' ), esc_attr( get_the_modified_time() ), esc_attr( get_the_modified_date( 'c' ) ), esc_html( get_the_modified_date( 'F j, Y ~ H:i' ))) ; } endif; Czy widzisz coś złego w tych funkcjach? Problem polega na tym, że pomimo ustawienia strefy czasowej mojego bloga na `GMT-05:00` (-04:00 DST) w **WordPress Dashboard > Settings > General** wyświetlana jest sygnatura czasowa `GMT+00:00 `. Jakiś pomysł dlaczego?


title: Zamawianie stron i zwiększanie nawigacji

text: Czy istnieje sposób na uporządkowanie moich stron w mojej witrynie WordPress, aby pojawiały się na pasku nawigacyjnym w wybranej przeze mnie kolejności? RÓWNIEŻ: Kiedy mam zbyt wiele stron Wordpress do nawigacji, niektóre strony są ukrywane. Czy istnieje sposób, aby to powstrzymać, aby wyświetlały się wszystkie strony?


title: Posty niestandardowe i get_post_meta w {$post_status}_{$post_type}

text: Tworzę funkcję analizowania pliku .csv przesłanego w niestandardowym polu niestandardowego postu. Nazwa niestandardowego **telefonu** i nazwa pola to **plan_information** . Problem polega na tym, że kiedy `var_dump(get_post_meta($post_id, 'plan_information', TRUE))` otrzymuję pusty ciąg. Kod, którego używam, jest następujący: add_action('publish_phone', 'parse_csv', '99', 2); function parse_csv($post_id) { global $post; $csv_file = get_post_meta($post_id, 'plan_information', TRUE); $csv_file = wp_get_attachment_url($csv_file); $title = get_post_meta($post_id, 'producent', PRAWDA); $title .= ' '.get_post_meta($post_id, 'model', TRUE); $title .= ' '.get_post_meta($post_id, 'pamięć', PRAWDA); $url = get_bloginfo('wpurl').'/'; $csv_file = str_replace($url, ABSPATH, $csv_file); if($csv_file && !$carriers) { $fp = fopen($csv_file ,"r"); if($fp) { fgetcsv($fp, 1000, ","); while (($data = fgetcsv($fp, 1000, ",")) !== FALSE) { $new_carrier = array( 'post_title' => $title. ' '. $data[0] . ' ' . $ data[3], 'post_status' => 'opublikuj', 'post_type' => 'carrier' ); $post_id = wp_insert_post($nowy_przewoźnik); add_post_meta($post_id, 'operator', $data[0], prawda); add_post_meta($post_id, 'logo', $data[1], prawda); add_post_meta($post_id, 'koszt', $dane[2], prawda); add_post_meta($post_id, 'nazwa_planu', $dane[3], prawda); add_post_meta($post_id, 'bohater', $dane[4], prawda); add_post_meta($post_id, 'podsumowanie', $dane[5], prawda); add_post_meta($post_id, 'phone_id', $post_id, true); } } fclose($fp); } }


title: Aktywacja motywu potomnego zwraca „aktywny motyw jest uszkodzony”

text: Używałem motywu Pinboard, ale chcę wprowadzić do niego modyfikacje. Zamiast bezpośrednio edytować pliki motywów, chciałem spróbować wprowadzić zmiany za pomocą motywu podrzędnego. Zgodnie z kodeksem utworzyłem nowy folder o nazwie **pinboard-child** pod **/wp-content/themes/**. Stworzyłem plik **style.css**, dodałem poniższy kod i wrzuciłem go do folderu. /* Nazwa motywu: Pinboard URI motywu potomnego: Szablon: pinboard-child Opis: Motyw potomny motywu Pinboard Autor: Jeden projekt, zmodyfikowany przeze mnie Wersja: 1.0 Tagi: */ @import url(../pinboard/style. css"); body { kolor tła: #FF0000; } (Dodałem stylizację ciała tylko po to, aby sprawdzić, czy wszystko działa zgodnie z oczekiwaniami) Przeszedłem do **/wp-content/themes/pinboard-child/style.css**, aby sprawdzić, czy mój plik znajduje się we właściwej lokalizacji i wszystko się pokazało prawidłowo. Po włączeniu motywu w sieci znalazłem motyw w moim menu Wygląd, chociaż obraz podglądu był szary. Kliknąłem „aktywuj”, a Wordpress wrócił z komunikatem „Aktywny motyw jest uszkodzony. Przywracanie domyślnego motywu”. i ustaw motyw mojej witryny na dwadzieścia dwanaście. Po przeszukaniu internetu kompletnie nie wiem, co jeszcze mogę zrobić. Czy ktoś wie 1. co może być przyczyną tego problemu i/lub 2. co mogę zrobić, aby to naprawić?


title: Przechowuj rekordy dla stołu w wordpressie

text: Muszę stworzyć stronę w wordpressie wyświetlającą tabelę z 3/4 polami i pozwolić redaktorom dodawać i aktualizować rekordy w tej tabeli. Jestem programistą drupala i nie mam dużego doświadczenia z wordpressem. Wiem, że w drupalu utworzyłbym po prostu zawartość typu „record”, a następnie utworzyłbym widok do wyświetlenia listy. Nie mogę wymyślić żadnego sposobu, aby to osiągnąć w wordpressie (w sposób przyjazny dla użytkownika. Najwyraźniej moja sugestia, aby nieopublikowany post dla każdego rekordu z tagiem „rekord” jest nie do przyjęcia dla moich pracodawców...) Dziękuję za pomoc...


title: Niestandardowe css na kategorię i na pojedynczy post należą do każdej kategorii

text: warunek jest taki: istnieje witryna wordpress, która ma 8 kategorii, a każda kategoria ma podkategorię, a każda podkategoria ma kilka postów (i nadal będzie aktualizowana/liczona) : * Kategoria A - 8 podkategorii * Kategoria B - 5 podkategorii * Kategoria C - 4 podkat * Kategoria D - 3 podkat * Kategoria E - 2 podkat * Kategoria F - 1 podkat * Kategoria G - 5 podkat * Kategoria H - 4 podkat * * * Funkcja body_class() już istnieje w nagłówku i Chcę zrobić * Każda kategoria ma inny obraz tła i niestandardowy nagłówek (np. zamiast przeglądać tekst kategorii „xx” - użyję niestandardowych słów/obrazów) * Każda strona z pojedynczym postem należy do określonej kategorii, styl jest dziedziczony. (nie wiem, jak to wyjaśnić po angielsku - ale chcę osiągnąć: Pojedynczy post należący do **kategorii A** ma ten sam styl co strony archiwum **kategorii A**. Dodałem: . category-A { /* css here */ } .category-B { /* css here */ } itd. ale dla każdej pojedynczej strony stylizacja nie działała. nie znam kodu.Więc... jest jednak dość przybliżony opis mojego problemu.Proszę o pomoc :(


title: Menu kategorii, które odfiltrowuje puste kategorie

text: Próbuję zbudować menu, które można administrować z edytora menu, ale zostanie odfiltrowane przed wyprowadzeniem. Dokładniej, menu zawiera kategorie produktów Woocommerce, zorganizowane w hierarchię, i chcę wykluczyć puste kategorie z wyników. Umożliwi to administratorowi jednorazowe ustawienie hierarchii i dynamiczne odzwierciedlanie w menu, które produkty są aktualnie w magazynie. Po zapoznaniu się z komentarzem ENTUZJASTA na temat podobnego wątku mam poniższy kod, ale nie otrzymuję właściwego wyniku. Wyprowadzane są wszystkie pozycje function exclude_empty_cat_menu_items( $items, $menu, $args ) { // Pobierz listę kategorii produktów, która wyklucza puste kategorie $non_empty_categories = get_categories(array('taxonomy' => 'product_cat')); // Iteruj po elementach menu foreach ( $items as $key => $item ) { $is_empty = true; // sprawdź, czy bieżący element znajduje się w niepustej tablicy kategorii foreach ( $non_empty_categories as $key => $cat ) if ($item->title == $cat->name) $is_empty = false; // jeśli jest pusty usuń go z tablicy if ($is_empty) unset($items[$key]); } return $items; } add_filter( 'wp_get_nav_menu_items', 'exclude_empty_cat_menu_items', null, 3 );


title: wp_localize_script() nie analizuj wartości

text: Próbuję parsować wartości php do pliku js za pomocą wp_localize_script() wp_enqueue_script('countdown_js', plugin_dir_path(__FILE__) .'js/countdown.js', array(), '1.0.0', true ); $dataToBePassed = array( 'sekundy' => 10, 'minut' => '20' ); wp_localize_script( 'countdown_js', 'parse_vars', $datatoBePassed ); Otrzymuję NULL dla wartości: <script type="text/javascript"> /* <![CDATA[ */ var parse_vars = null; /* ]]> */ </script>


title: Jak używać add_action wewnątrz plików zawartych w functions.php motywu

text: Mam plik functions.php w moim folderze motywu. Pierwsza linia `functions.php` to require_once 'custom.php'; wewnątrz `custom.php` mam ten prosty kod: add_action('wp_print_scripts','add_js_vars'); function add_js_vars(){ //trochę rzeczy tutaj } Problem z powyższym kodem polega na tym, że add_js_vars nie jest wykonywany. Jeśli przeniosę `add_action('wp_print_scripts','add_js_vars');` wewnątrz motywów `functions.php` wszystko działa dobrze. Nie jestem w stanie zrozumieć, w czym jest problem. Jakieś pomysły? Dzięki za pomoc.


title: Zapisz zarówno aktualną, jak i nową wersję meta postu

text: Chcę zapisać dwie wersje moich niestandardowych danych metabox o nazwie „pasek boczny”. Chcę później porównać nową i starą wersję tych danych, dlatego chcę zapisać kopię bieżącego „paska bocznego” w polu o nazwie „sidebar_old”, tuż przed zapisaniem nowej wersji. Oto moja próba zrobienia tego właśnie: add_action('pre_post_update', 'content_old_save'); function content_old_save() { global $post; $sidebar_old = get_post_meta($post->ID, 'pasek boczny', prawda); update_post_meta($post->ID, "sidebar_old", $sidebar_old); // obecny/stary pasek boczny } Tak zapisuję nową wersję: add_action('save_post', 'sidebar_title_update'); function sidebar_title_update($post_id) { global $post; if ( define('DOING_AUTOSAVE') && DOING_AUTOSAVE ) { return $post_id; } update_post_meta($post->ID, "pasek boczny", $_POST["pasek boczny"]); // nowy pasek boczny } Chodzi o to, że tylko nowa wartość paska bocznego jest wstawiana do bazy danych, zarówno do "sidebar" jak i "sidebar_old", więc w jakiś sposób nowa wartość jest już wstawiona do bazy danych jeszcze przed pre_post_update?


title: Czy zamiast przesyłać cały post, istnieje sposób na przesłanie uproszczonego posta lub prostej wiadomości?

text: Zastanawiałem się, czy istnieje sposób lub wtyczka, aby opublikować coś takiego jak wiadomości o aktualizacji na Twitterze zamiast postu. Coś takiego jak http://p2demo.wordpress.com/, ale lepsze, gdzie użytkownik będzie publikował wiadomości aktualizacyjne, a nie cały post (w przypadku bazy danych). Oznacza to, że zaoszczędzisz miejsce, przyspieszysz i zmniejszysz zasoby bazy danych. Szukam sposobu na publikowanie wiadomości lite, ta baza danych zapisze tylko niezbędne, takie jak identyfikatory, tytuł, post i kciuk, może przez php. Brak taksonomii i i i. Mam nadzieję, że rozumiesz, co próbuję powiedzieć (przepraszam za zły angielski) Dziękuję. **Zaktualizowano** : Znalazłem ten kod, czy powinienem używać go jako funkcji publikowania na Twitterze? (Jak powiedziałem, potrzebuję mniej zasobów bazy danych) // Utwórz obiekt postu $my_post = array(); $my_post['post_title'] = 'Mój post'; $my_post['post_content'] = 'To jest mój post.'; $my_post['post_status'] = 'opublikuj'; $my_post['post_author'] = 1; $my_post['post_category'] = array(0); // Wstaw post do bazy danych wp_insert_post( $my_post );"


title: WP_Query i next_posts_link

text:
Nie mogę wymyślić, jak sprawić, by next_posts_link() działał w moim niestandardowym WP_Query. Oto funkcja: function artists() { echo '
'; $args = array( 'post_type' => 'artist', 'posts_per_page' => 3, 'paged' => get_query_var( 'page' )); $pętla = nowe WP_Query( $args ); while ( $loop->have_posts() ): $loop->the_post(); echo ''; echo '
'.get_the_title().'
'; $attachments = attachments_get_attachments(); $łącznie_załączniki = liczba( $załączniki ); for( $i=0; $i<$total_attachments; $i++ ) { $thumb = wp_get_attachment_image_src( $attachments[$i]['id'], 'thumbnail' ); echo ''; } echo ''; koniec; echo '
'; next_posts_link(); } Czy ktoś może mi powiedzieć, co robię źle? Dziękuję


title: Czy wordpress jest wystarczająco dobry dla e-commerce?

text: Jestem zaznajomiony z Wordpressem i niektórymi back-endami e-commerce, takimi jak Magento, itp. Myślę, że mógłbym go zbudować za ich pomocą, ale otrzymałem radę, aby tego nie robić, ponieważ będzie to trudne do skalowania w przyszłości. Czy powinienem ich słuchać? Potrzebuję również niestandardowych funkcji, takich jak niestandardowe strony produktów, strony profilu użytkownika, elementy do głosowania, przesyłanie plików. Czy będę w stanie zaimplementować takie funkcje i nie tylko w wordpressie?


title: pobieranie postów i wyświetlanie na stronie głównej

text: Mam dwie strony, mianowicie. **www.a.com** i **www.a.com/b** . Teraz są to dwie oddzielne instalacje wp, w tym samym katalogu /root, gdzie 'b' jest rodzajem rozszerzonej pionowej strony 'a'. Chcę osiągnąć technikę, dzięki której będę mógł pokazywać ostatnie (lub wszystkie publikowane przeze mnie) posty B na stronie głównej A. Post powinien wyglądać jak zwykła część natywnych postów użytkownika A. Na przykład, jeśli zamieszczę jakiś tytuł tematu „mój post” na B, powinien pojawić się na jego stronie głównej plus, powinien również pojawić się na stronie głównej A. Jakaś pomoc?


title: Udostępnienie wtyczki tylko w interfejsie dla zalogowanego superadministratora

text: Zrobiłem małą wtyczkę, która umieszcza w kolejce 1 plik .js i 1 plik .css w interfejsie motywu. Wszystko to ładuje siatkę na górze motywu, dzięki czemu mogę zwizualizować projekt. Jeśli ta wtyczka została aktywowana w działającej witrynie, czy to możliwe, że tylko ja (superadministrator) mogę zobaczyć pliki JS i CSS dołączone do interfejsu? Wszystko, co mam w pliku wtyczki, to: function load_grid() { wp_enqueue_style('grid_css', plugins_url('/lib/css/grid.css', __FILE__) ); wp_enqueue_script('grid_js', plugins_url('/lib/js/grid.js', __FILE__), array('jquery') ); } add_action('wp_enqueue_scripts', 'load_grid');


title: Jak uniknąć wielokrotnego używania instrukcji new do tworzenia instancji klasy?

text: Mam klasę z dużą ilością zmiennych. Aby uzyskać zmienną, muszę w każdej funkcji napisać następujący wiersz: $x = new MY_Class(); Chyba musi być inny sposób? Próbowałem: function my_data() { global $x; $x = nowa MY_Class(); return apply_filters( 'my_data', $x ) } Następnie próbowałem użyć `$x->var` w innych funkcjach, które potrzebują zmiennych, ale to nie działa. Jak sprawić, by `global $x` i jego zmienne były dostępne dla innych funkcji? Dziękuję!


title: Pobierz Kalendarz Google w niestandardowy sposób

text: Muszę zintegrować kolejne nadchodzące wydarzenia z Kalendarza Google. Tylko niestandardowa lista wydarzeń z kilkoma ulepszeniami CSS do stylizacji daty i tytułu. Czy jest na to sposób? Sprawdziłem wtyczki itp., ale nie znajduję rozwiązań, aby zintegrować je z moim motywem. Czy można to zrobić za pomocą kanału rss? Dziękuję Ci!


title: Elementy div pojawiające się wszędzie w treści posta

text: Za każdym razem, gdy ktoś pisze post na naszej stronie, Paly Voice (http://palyvoice.com) automatycznie tworzonych jest wiele elementów `<div>`. To źle wpływa na układ, ponieważ mamy styl, który stosuje się do divów, których nie chcemy stosować do stylów opowieści. Czy istnieje sposób na usunięcie automatycznego wstawiania div? Jeśli nie, czy mogę dodać podpięcie funkcji, aby przeanalizować post i usunąć je przed zapisaniem do bazy danych? Edytuj: Przykład tutaj: http://palyvoice.com/2012/08/22/new-grade-reports-to-be-mailed-home-every-cztery-tygodnie-2/


title: Jak wyświetlić listę stron podrzędnych strony nadrzędnej w wordpressie?

text: Mam następujący format menu. Leczenie -Uroda -Usługi -Produkty -Chirurgia -Mycie Śledziłem następujący link: Jak wyświetlić listę stron podrzędnych dla strony nadrzędnej w WordPressie Ale nie chcę podstron strony "Uroda". Chcę tylko podstrony "Leczenie".


title: Tworzenie niestandardowych ról użytkownika

text: Muszę utworzyć niestandardową rolę użytkownika, który będzie mógł tworzyć posty (o określonym typie postu), ale nie będzie ich publikować (tak jak obecna rola współtwórcy. Jestem trochę zdezorientowany, jak utworzyć nową rolę lub możliwość aby to osiągnąć.Jak/od czego mam zacząć?Dzięki **UPDATE:** Dodałem je do niestandardowej funkcji postu zgodnie z sugestią Erica Holmesa 'capabilities' => array( 'edit_posts' => 'edit_helps', 'edit_post' => 'edit_help', 'read_post' => 'read_helps', ). ( 'contributor' ); $role->remove_cap( 'delete_posts' ); $role->remove_cap( 'edit_posts' ); $role->add_cap('edit_helps'); $role->add_cap('edit_help'); $role->add_cap('read_helps'); } register_activation_hook(__FILE__, 'modify_user_capabilities' ); Teraz tylko kontrybutor może edytować ten typ postu, a nie inni użytkownicy (np. admin) Czy istnieje lepszy sposób na grupowe przypisanie im tych możliwości? Wyedytowałem mój hak aktywacyjny do: function modify_user_capabilities() { $role = get_role( 'contributor' ); $role->remove_cap( 'usuń_posty' ); $role->remove_cap( 'edit_posts' ); foreach (array('administrator', 'editor', 'autor', 'contributor') as $user_role) { $role = get_role($user_role); $role->add_cap('edit_helps'); $role->add_cap('edit_help'); $role->add_cap('read_helps'); } } **UPDATE 2:** Całkowicie zapomniałem przydzielić kogoś do usuwania postów. Zaktualizowałem więc funkcję: function modify_user_capabilities() { //usuń współtwórcę z edycji dowolnego postu $role = get_role( 'contributor' ); $role->remove_cap( 'usuń_posty' ); $role->remove_cap( 'edit_posts' ); foreach (array('administrator', 'editor', 'autor', 'contributor') as $user_role) { $role = get_role($user_role); $role->add_cap('edit_helps'); $role->add_cap('edit_help'); $role->add_cap('read_helps'); } //pozwól administratorom usuwać posty $role = get_role('administrator'); $role->add_cap('delete_helps'); $role->add_cap('delete_publised_helps'); $role->add_cap('delete_others_helps'); $role->add_cap('delete_help'); } Teraz administrator może usunąć te posty.


title: Jak znaleźć wszystkie linki między stronami

text: Staram się mieć rodzaj funkcji, która pozwoli mi znaleźć wszystkie wewnętrzne linki w mojej witrynie, które prowadzą do strony. tj. Chcę poznać wszystkie strony w mojej witrynie, które prowadzą do (dowolnej) strony w mojej witrynie. Próbowałem znaleźć rodzaj gotowej wtyczki do tego, ale nie znalazłem. Potrafię samodzielnie opracować, ale zastanawiam się, jaki będzie najlepszy sposób na taką funkcjonalność. Wszelkie pomysły będą mile widziane. Dziękuję


title: Prawidłowy sposób użycia pola Nonce bez interfejsu API ustawień

text:
Z pewnych powodów próbuję utworzyć stronę opcji administratora bez interfejsu Settings API. A jeśli to zrobię, słyszałem, że muszę używać nonces dla bezpieczeństwa. Chciałbym wiedzieć, jak ich używać. Oto, co próbowałem, podążając za tą stroną: Używając nonce zewnętrznego administratora WP Admin. <?php /* Nazwa wtyczki: Demo do używania nonce Opis: Demo plugin demonstrujący jak używać nonce Autor: Teno */ // define constants define("DEMONONCE", "demo_nonce"); define("DEMONONCEPAGESLUG", "demo_nonce_adminpage"); // utwórz tablicę opcji $arrOption = get_option(DEMONONCE); update_option(DEMONONCE, array_merge(array(), is_array($arrOption) ? $arrOption : array())); // menu administratora add_action('admin_menu', 'demo_nonce_adminmenu'); function demo_nonce_adminmenu() { add_options_page('Demonstracyjne menu wtyczki bez ustawień API', 'Demo menu wtyczki bez ustawień', 'manage_options', DEMONONCEPAGESLUG, 'demo_nonce_adminpage'); } // funkcja strony administratora demo_nonce_adminpage() { $options = get_option(DEMONONCE); print_r($_POST); // do debugowania echa '
'; if(isset($_POST[DEMONONCE]['przesłane']) && !wp_verify_nonce($_POST['name_of_nonce_field'], 'name_of_my_action')){ return; } if(isset($_POST[DEMONONCE]['submitted']) && $_POST[DEMONONCE]['submitted'] == 1){ if (strlen(trim($_POST[DEMONONCE]['option_a'])) == 0) { $opcje['nieprawidłowy'] = Prawda; echo '

Opcje nie są zapisywane.

'; } else { $options = array_merge($opcje, $_POST[DEMONONCE]); // wygląda na to, że napis karty został tutaj usunięty update_option(DEMONONCE, $options); echo '

Aktualizacje są zapisywane.

'; } } ?>
 <?php // nagłówek screen_icon(); ?>
Wtyczka demonstracyjna dla Nonces bez ustawień API

Strona 1
 <form method="post" action=""> <?php // 'action=""' oznacza wyślij dane posta formularza na tę stronę. ?> <?php wp_nonce_field('nazwa_mojego_działania', 'nazwa_pola_nonce'); ?> <input type="ukryty" name="<?php echo DEMONONCE; ?>[submitted]" value="1" />

 Opcja A	  <input name="<?php echo DEMONONCE; ?>[opcja_a]" size="40" type="tekst" value="< ?php echo $options['invalid'] ? $_POST[DEMONONCE]['option_a'] : $options['option_a']; ?>" /> <?php echo ($options['invalid'] && $options ['nieważny'] ) ? '* nie może być pusty.' :'' ?>

 Opcja B 	  <input name="<?php echo DEMONONCE; ?>[opcja_b]" size="40" type="tekst" value="<?php echo $opcje['nieprawidłowe'] ? $ _POST[DEMONONCE]['option_b'] : $options['option_b']; ?>" />

 <?php submit_button(); ?> </form>
  <?php } ?> Umieściłem `if(isset($_POST[DEMONONCE]['submitted']) && !wp_verify_nonce( $_POST['name_of_nonce_field'], 'name_of_my_action')){ return; }` przed wyświetleniem formularza i umieszczonym `<?php wp_nonce_field('nazwa_mojego_działania', 'nazwa_pola_nonce'); ?>` w znaczniku formularza. Nadal nie jestem pewien, czy to wszystko w porządku. Jakie ciągi należy umieścić dla „name_of_nonce_field” i „name_of_my_action”? Czy mogliby być jakkolwiek nazwałem? A co jeszcze powinienem zrobić poza nonces, aby stworzyć bezpieczniejszą stronę administracyjną?


title: Wykryj wyróżniony obraz wśród załączonych obrazów

text: Używam następującego kodu, aby wyodrębnić załączone obrazy z postu o identyfikatorze: $args = array( 'post_type' => 'attachment', 'post_parent' => $product_id, 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => -1 ); $załączniki = get_posts($args); Problem polega na tym, że powyższy kod zwraca wszystkie załączone pliki. Czy istnieje sposób na usunięcie wyróżnionego obrazu z wyników? Nie mam nic przeciwko, jeśli zrobię to za pomocą zapytania $args, jakiejś instrukcji if lub filtrując tablicę $attachments. Z poważaniem Merianos Nikos


title: Nie mogę publikować komentarzy, jeśli nie zamieszczam strony internetowej?

text: Mam poważny problem z moim szablonem komentarza. Z jakiegoś powodu komentarze nie pojawią się, chyba że ktoś również kliknie w pole strony. Nie jest konieczne publikowanie strony internetowej, ale musisz kliknąć pole, w przeciwnym razie komentarz po prostu się nie pojawi. Oto moja strona internetowa, więc możesz sam spróbować. Oto mój komentarz.php: http://pastebin.com/pgpQ2Cx3 A tutaj mój komentarz- template.php (którego nie zmieniałem, ale może zrobiła to wtyczka): http://pastebin.com/5zaubXWm Jakieś pomysły? :( Próbowałem już różnych rzeczy modyfikując mój comment.php, ale nic nie działało. Z góry wielkie dzięki.


title: Dodaj metabox z narzędziem do przesyłania multimediów w niestandardowym typie posta

text: Muszę utworzyć „metabox programu do przesyłania multimediów” i dodać go do mojego niestandardowego typu posta. Stworzyłem już normalne metaboksy, funkcję dodawania do niestandardowego typu postu i funkcję ich zapisywania, muszę tylko użyć programu do przesyłania multimediów z wordpress, ale nie wiem, jak to zrobić. Potem wstawiłbym coś w stylu „Dodaj więcej obrazu”, który doda więcej metaboksów na stronie. Coś takiego: ![tutaj wpisz opis obrazu](http://i.stack.imgur.com/PFe5P.jpg)


title: Planowanie zadania za pomocą metod klasowych

text: Muszę zaimplementować zaplanowane zadanie w mojej wtyczce i starałem się podążać za przykładami w dokumentacji, przekazując jedną z metod klasowych jako cel. Zainstalowałem wtyczkę Cron Manager i widzę, że moje podpięcie zostało zaplanowane, ale pierwszy harmonogram jest kilka sekund w przeszłości. Myślę, że to dlatego, że WP ustawia pierwszy harmonogram na „teraz”, co podobno powinno od razu wywołać hak. Problem polega na tym, że metoda, którą dołączyłem do podpięcia, nie jest wywoływana, a Cron Manager wyświetla " _pozostało sekund: -X_ " (gdzie X to ilość sekund, które upłynęły od momentu zaplanowania zadania). Pominę rzeczy `wp_schedule`, ponieważ wiem, że to działa (haczyk znajduje się na zaplanowanej liście, chociaż ze znacznikiem czasu w przeszłości), więc oto odpowiedni kod: // Zaczep Cron nazywa się myclass_cron class MojaKlasa { funkcja publiczna __construct() { add_action('init', array($this, 'wordpress_loaded')); } funkcja public wordpress_loaded() { add_action('myclass_cron', array($this, 'cron_tasks')); } public function cron_tasks() { // Cron rzeczy. Próbowałem dodać polecenie "sleep()", aby sprawdzić, czy ładowanie strony było wolniejsze, ale wyraźnie nie przechodzi przez tę metodę } } Jeśli dodam `do_action('myclass_cron')`, `cron_tasks()` działa jako spodziewany. Zastanawiałem się, czy za późno wywoływałem `add_action()` (tj. Kiedy WP jest załadowany), ale próbowałem przenieść go do Konstruktora klas i problem utrzymywał się. Z góry dziękuję za odpowiedzi.


title: jak otworzyć stronę zdefiniowaną we wtyczce z widżetu dashboardu

text: Mam wtyczkę, która dodaje kilka stron administracyjnych i obsługuje dwa szablony stron dla dokumentów dostępnych publicznie. Ładuje również jeden widżet pulpitu nawigacyjnego dla „subskrybentów”. W tym widżecie znajduje się lista linków do stron podsumowania. Strona podsumowania znajduje się w drzewie katalogów wtyczek i ma takie same prawa własności i uprawnienia jak wszystkie inne pliki php. Pojawiają się linki i mogę je kliknąć, ale otrzymam powiadomienie „nie masz uprawnień dostępu do tej strony”. W funkcjach wtyczek zadeklarowałem tę funkcję: function pgc_certificate_display() { include('pg-certificate-display.php'); } Przy inicjalizacji wtyczki deklaruję slug strony: add_users_page('edit.php?post_type=page', 'Certyfikaty', 'Certyfikaty', 'read', 'certificate-display', 'pgc_certificate_display'); W kodzie, który tworzy listę stron podsumowań, znajduje się w php widgetu dashboardu, gdzie URL jest skonstruowany w następujący sposób: $_SERVER['SCRIPT_NAME'] . '?page=certificate-display&cert_number=' . $cert['cert_number'] Mam włączone wyświetlanie błędów i żaden nie jest zgłaszany. Jakie są w tym nieprawidłowe bity?


title: Jak wyeksportować/zaimportować ustawienia dostosowywania motywów?

text: Zastanawiam się, czy możliwe jest wyeksportowanie ustawień dostosowywania motywów (theme_mods) w celu zaimportowania do innej instalacji tego samego motywu. Wiem, że ustawienia są zapisywane w bazie danych, więc zastanawiam się, czy istnieje wtyczka lub narzędzie do tworzenia pliku XML do importu, jak wiele motywów dla ustawień.


title: Złożone WP_Query wykorzystujące datę postu i post Meta

text: Używam Wordpressa jako CMS na stronie internetowej, która ma standardowe posty, niestandardowy typ postu reklamowego i niestandardowy typ posta wydarzenia. Typ wpisu o wydarzeniu ma pewną niestandardową meta, która przechowuje datę rozpoczęcia wydarzenia. Próbuję utworzyć kanał wszystkich trzech typów postów na stronie głównej (tj. index.php). Posty standardowe i posty reklamowe muszą być uporządkowane według daty publikacji, ale wydarzenia muszą być uporządkowane według daty rozpoczęcia i umieszczone w kanale we właściwej pozycji. Czy można uruchomić zapytanie, które wybiera wszystkie trzy typy postów i dwa typy postów według daty publikacji i jeden typ posta według wartości meta? Obecnie używam tego zapytania, aby wprowadzić standardowe posty i posty reklamowe: if (is_home() && $query->is_main_query()) $query->set( 'post_type', array('post', 'ecs_adverts' ));


title: Zmień nazwę/tytuł bloku kategorii na ekranie dodawania/edycji posta

text: Taksonomia „Category” jest domyślną taksonomią pochodzącą z wordpress w typie „post”. Chcę zmienić nazwę tej taksonomii na inną. Jak mogę to osiągnąć?


title: Pokaż pole informacyjne specyficzne dla kategorii

text: Mam kilka kategorii, które są regionami kraju (północ, południe itp.). Chciałbym wyświetlić na końcu każdego posta jakieś pole informacyjne, które należy do jednej z tych kategorii, z ikonami i linkami specyficznymi dla tej kategorii, takimi jak MAPY, HISTORIA. Każda kategoria regionu miałaby te same nazwy linków i ikony, ale każda z nich prowadziłaby do innego adresu URL związanego z tą kategorią. Na przykład NORTH Maps - maps.com/north History - history.com/north SOUTH Maps - maps.com/south History - history.com/south Pomyślałem o utworzeniu obszaru widżetów, ale może to być bałagan. Jakieś lepsze pomysły?!?


title: problem z wordpress

text: Po instalacji wordpressa próbuję uzyskać dostęp i dokonać bieżącej konfiguracji. ale pokazuje: <?php /** * Front do aplikacji WordPress. Ten plik nic nie robi, ale ładuje * wp-blog-header.php, który to robi i mówi WordPressowi, aby załadować motyw. * * @package WordPress */ /** * Nakazuje WordPressowi załadować motyw WordPressa i wyprowadzić go. * * @var bool */ define('WP_USE_THEMES', true); /** Wczytuje środowisko i szablon WordPress */ require('./wp-blog-header.php'); ?>


title: Dodawanie haka wp_head z dołączonego pliku PHP

text: Używam wtyczki WordPress do umieszczania kodu PHP w postach i stronach i działa świetnie - jednak muszę wstawić kilka stylów i skryptów, a w tym celu muszę dodać hook do wp_head. Próbowałem tego, tworząc funkcję i używając `add_action('wp_head','my_func');`, ale to nie zadziałało - moje rzeczy nie zostały uwzględnione. Myślę, że to dlatego, że wp_head jest wywoływany przed włączeniem mojego skryptu. Chciałbym to zrobić bez zmiany żadnego z moich plików motywów. Czy jest na to sposób? Korzystam z najnowszej wersji WordPressa.


title: basic shortcode - Dlaczego pierwszy akapit nie jest zawinięty w znacznik p, ale drugi jest?

text:
Pracuję nad podstawową wtyczką, która dodaje skróty do kolumn, przycisków, paneli itp. Nie ma tu nic nowego. W każdym razie nie zmieniałem wpautop; Próbowałem go usunąć i opóźnić - bez zmian. To, co dzieje się ze wszystkimi używanymi skrótami, to to, że pierwszy akapit nie jest zawinięty w znacznik p (tagi p faktycznie pojawiają się bezpośrednio po pierwszym akapicie i są puste), ale wszystkie akapity po pierwszym w tym samym shortkodzie SĄ opakowane w znaczniki p. Muszę dowiedzieć się, DLACZEGO pierwszy akapit nie jest zawijany. Funkcja: function vc_shortcode_panel($atts, $content = null) { extract( shortcode_atts( array( 'typ' => '' ), $atts) ); return '
' . do_shortcode( trim($content) ) . '
'; } add_shortcode('panel', 'vc_shortcode_panel'); Shortcode: [panel type=""]paragraf 1 akapit 2[/panel] Wynik wygląda następująco:
 akapit 1

akapit 2

 Wiem, że jeśli dodam linię podziału między [panel] a pierwszym akapitem, zostanie on zawinięty w znacznik p. Ale czy skróty nie powinny być poprawnie sformatowane bez konieczności łamania linii? Co robię źle i czy ktoś może mi powiedzieć, dlaczego tak się dzieje?


title: Strona Opcje motywu nie zapisuje poprawnie danych

text:
Mam problemy z zapisaniem prawidłowych danych na stronie opcji motywów. Oto mój kod w moim pliku functions.php: <?php if ( get_option( 'everes_options' )) { $everes_options = get_option( 'everes_options' ); } else { add_option( 'everes_options', array( 'everes_pdf' => '1', 'everes_showBlog' => '1') ); $everes_options = get_option( 'everes_options' ); } } function everes_options(){ global $everes_options; ?>

Opcje CV
 <form action="edit.php?post_type=employment&page=resume_options" method="post">

 Drukuj jako PDF?	  <select name="everes_pdf"> <option value="1" <?php selected( '1', $everes_options['everes_pdf'] ); ?> >Tak</option> <option value="0" <?php selected( '0', $everes_options['everes_pdf'] ); ?> >Nie</option> </select>

 Pokaż blog	  <select name="everes_showBlog"> <option value="1" <?php selected( '1', $everes_options['everes_showBlog'] ); ?> >Tak</option> <option value="0" <?php selected( '0', $everes_options['everes_showBlog'] ); ?> >Nie</option> </select>

 <?php submit_button(); ?>

 </form>
 <?php } ?> Po przesłaniu danych zostaną one zapisane, ale po kilku kliknięciach w menu lub odświeżone w serwisie, dane znikają. Nie widzę, gdzie jest problem, ale wierzę, że dla kogoś tutaj byłoby to rażąco oczywiste. Jakaś pomoc? Proszę?


title: Dlaczego na tej stronie archiwum wywołanie funkcji query_posts() pokazuje tylko 10 ostatnich postów?

text:
Jestem całkiem nowy w tworzeniu motywów WordPress i znajduję 2 problemy z tą **stroną archiwum postów** : http://lnx.asper-eritrea.com/archivio/ Poprzednia strona musi pokazywać WSZYSTKIE posty na blogu w postaci lista nieuporządkowana. Główny problem polega na tym, że pokazywane jest tylko 10 ostatnich opublikowanych postów. Drugi problem dotyczy ostrzeżenia spowodowanego błędnym wywołaniem funkcji **query_posts()**. To jest kod PHP, który generuje pętlę postów: <? // pobierz termin używając ślimaka i taksonomii tagów //$term = get_term_by( 'slug', 'featured', 'post_tag' ); // przekaż term_id do tag__not_in query_posts(); ?> <?php if (have_posts()) : echo '
'; // Uruchom pętlę. while (have_posts()) : the_post(); /* * Dołącz do treści szablon specyficzny dla formatu posta. Jeśli chcesz użyć tego * w motywie potomnym, dołącz plik o nazwie content-___.php * (gdzie ___ jest formatem postu), który zostanie użyty zamiast tego. */ echo '
'; get_template_part('contentArchive', get_post_format()); echo '
'; koniec; echo '
'; else : // Jeśli nie ma treści, dołącz szablon „Nie znaleziono postów”. get_template_part('treść', 'brak'); endif; ?> Dlaczego więc poprzednia pętla pokazuje tylko 10 ostatnich rekordów? Jak mogę to naprawić i pokazać cały wpis na blogu? Co mogę zrobić, aby naprawić wywołanie **query_posts()**? Myślę, że może te 2 problemy są ze sobą powiązane, ponieważ może muszę użyć parametru, aby powiedzieć, że wszystkie posty na blogu są wyświetlane.


title: Kliknięcie nowego posta na blogu powoduje wyświetlenie strony głównej

text: Jestem nowicjuszem w WP i niedawno natknąłem się na problem po zainstalowaniu wtyczki WP Permastructure. Kiedy klikam nowe posty na blogu, wyświetla się statyczna strona główna. Jednak klikanie postów utworzonych przed zainstalowaniem wtyczki NIE przenosi mnie na moją stronę główną, a zamiast tego wyświetla poprawną treść. Próbowałem odinstalować wtyczkę (bezskutecznie). Strona bloga działa jednak dobrze w motywie 2010 (używam niestandardowego motywu). Wszelkie sugestie są mile widziane, dzięki za poświęcony czas.