Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nowicjusz vs. PHP, Strona na Wordpressie
Merol
post 3.07.2015, 18:06:27
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Witam, znalazłem darmowy szablon php na Wordpress i zacząłem zabawę próbując dostosować go do swoich potrzeb.

Zacznę od podania linku do mojej strony na testowej domenie: http://agencjafresh.esy.es/
Chciałbym w wyszukiwarce ofert zastąpić "Type, Rooms, Area, Price" innymi słowami, z tym, że Price chciałbym ręcznie wpisywać od / do.

Próbowałem zmienić kolejno "Type" na "Typ transakcji" wszędzie w kodzie, ale wtedy wyszukiwarka się psuła. Być może dlatego, że słowo jest dwuczłonowe, ale nie jestem pewien.

Tak wygląda w tych miejscach kod:
functions.php
  1. function listings_taxonomy() {
  2. register_taxonomy(
  3. 'type',
  4. 'listings',
  5. 'hierarchical' => true,
  6. 'label' => 'Type',
  7. 'query_var' => true,
  8. 'rewrite' => array('slug' => 'type')
  9. )
  10. );

searchs-listings-form-sidebar.php
  1. <div class="sidebar-box search-listings <?php echo (is_page_template('home-page-template.php')) ? 'transp' : '';?>">
  2. <h3>Znajdź swój nowy dom:</h3>
  3. <form method="post" action="<?php bloginfo('url');?>/listing-search-results/">
  4. <div><?php echo buildSelect('type'); ?></div>
  5. <div><?php echo buildSelect('rooms'); ?></div>
  6. <div><?php echo buildSelect('area'); ?></div>
  7. <div><?php echo buildSelect('price'); ?></div>
  8. <div><input type="submit" class="button" /></div>
  9. </form>
  10. <div class="clear"></div>
  11. </div>

searchs-listings-form.php
  1. <div class="twelve columns listing-search">
  2. <h3>Możesz filtrować bazę ofert za pomocą poniższych pól wyboru:</h3>
  3. <div class="search-wrap <?php echo (is_page_template('home-page-template.php')) ? 'transp' : '';?>">
  4. <form method="post" action="<?php bloginfo('url');?>/listing-search-results/">
  5. <div class="two columns"><?php echo buildSelect('type'); ?></div>
  6. <div class="three columns"><?php echo buildSelect('rooms'); ?></div>
  7. <div class="three columns"><?php echo buildSelect('area'); ?></div>
  8. <div class="two columns"><?php echo buildSelect('price'); ?></div>
  9. <div class="two columns"><input type="submit" class="button" /></div>
  10. </form>
  11. </div>
  12. </div>

single-listings.php
  1. <div class="overview">
  2. <h6>Specyfikacja techniczna</h6>
  3. <ul>
  4. <?php echo get_the_term_list( $post->ID, 'type', '<li>Type: ', ', ', '</li>' ); ?>
  5. <?php echo get_the_term_list( $post->ID, 'rooms', '<li>Rooms: ', ', ', '</li>' ); ?>
  6. <?php echo get_the_term_list( $post->ID, 'area', '<li>Area: ', ', ', '</li>' ); ?>
  7. <?php echo get_the_term_list( $post->ID, 'price', '<li>Price: ', ', ', '</li>' ); ?>
  8. <li><a href="#respond">Contact Us</a> regarding this listing</li>
  9. </ul>
  10. </div>
Go to the top of the page
+Quote Post
rafalp
post 3.07.2015, 21:27:36
Post #2





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Znajdź funkcję buildSelect() i grzeb dalej, te słowa w polu "select" powinny pochodzić z pliku z tłumaczeniem (.mo/.po/.pot)


--------------------
Go to the top of the page
+Quote Post
Merol
post 3.07.2015, 21:37:53
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Cytat(rafalp @ 3.07.2015, 22:27:36 ) *
Znajdź funkcję buildSelect() i grzeb dalej, te słowa w polu "select" powinny pochodzić z pliku z tłumaczeniem (.mo/.po/.pot)

Bardzo dziękuję za odpowiedź! Niestety, nie było żadnego tłumaczenia, sam wszystko przetłumaczyłem. Tak wygląda funkcja buildSelect(). Jak mam ją zmienić?

function buildSelect($tax){
$terms = get_terms($tax);
$x = '<select name="'. $tax .'">';
$x .= '<option value="">Select '. ucfirst($tax) .'</option>';
foreach ($terms as $term) {
$x .= '<option value="' . $term->slug . '">' . $term->name . '</option>';
}
$x .= '</select>';
return $x;
}

Ten post edytował Merol 3.07.2015, 21:38:18
Go to the top of the page
+Quote Post
com
post 3.07.2015, 21:46:21
Post #4





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


to nie bd czasem w get_terms ?

a w single-listings.php to masz w li wpisane przecież to tam możesz sobie zmienić
Go to the top of the page
+Quote Post
Merol
post 3.07.2015, 21:57:29
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Cytat(com @ 3.07.2015, 22:46:21 ) *
to nie bd czasem w get_terms ?

a w single-listings.php to masz w li wpisane przecież to tam możesz sobie zmienić


Również dziękuję za odpowiedź smile.gif. Ten kod w single-listing odpowiedzialny jest za wypisanie kategorii w ogłoszeniu, kiedy się do niego wejdzie pod słowami Specyfikacja techniczna. Aktualnie nie ma nic wypisane, ponieważ ogłoszenie testowe nie jest przypisane do żadnej kategorii. Tutaj link bezpośrednio do ogłoszenia testowego.
http://agencjafresh.esy.es/listing/zielony...mkw-podolszyce/

Nie rozumiem tej wskazówki apropo get_terms. Co dokładniej miałbym z tym zrobić, żeby przypisać tym taxonomies określone nazwy?

//edit
Dodałem kilka taxonomies w ramach specyfikacji technicznej. Ale wolałbym, żeby wartość części z nich była wyświetlana normalnie, a nie jako odnośnik do kategorii. Co zrobić?

Ten post edytował Merol 3.07.2015, 23:12:46
Go to the top of the page
+Quote Post
rafalp
post 4.07.2015, 10:13:16
Post #6





Grupa: Zarejestrowani
Postów: 224
Pomógł: 18
Dołączył: 4.02.2003
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


Cytat(Merol @ 3.07.2015, 22:37:53 ) *
function buildSelect($tax){
$terms = get_terms($tax);
$x = '<select name="'. $tax .'">';
$x .= '<option value="">Select '. ucfirst($tax) .'</option>';
foreach ($terms as $term) {
$x .= '<option value="' . $term->slug . '">' . $term->name . '</option>';
}
$x .= '</select>';
return $x;
}


Jeśli to ta funkcja (bo nie jestem pewien gdyż jest napisane "Select" zamiast "[wybierz]" (?)
ale jeśli tak to 'proteza' będzie taka:

  1. function buildSelect($tax){
  2. $terms = get_terms($tax);
  3. $x = '<select name="'. $tax .'">';
  4.  
  5. $tax_pl = $tax;
  6. if($tax == 'type')
  7. {
  8. $tax_pl = 'typ';
  9. }
  10. if($tax == 'rooms')
  11. {
  12. $tax_pl = 'pokoje';
  13. }
  14. if($tax == 'area')
  15. {
  16. $tax_pl = 'region';
  17. }
  18. if($tax == 'price')
  19. {
  20. $tax_pl = 'cena';
  21. }
  22. // lub IF-ELSE
  23.  
  24.  
  25.  
  26. $x .= '<option value="">Select '. ucfirst($tax_pl) .'</option>';
  27. foreach ($terms as $term) {
  28. $x .= '<option value="' . $term->slug . '">' . $term->name . '</option>';
  29. }
  30. $x .= '</select>';
  31. return $x;
  32. }


Ten post edytował rafalp 4.07.2015, 10:15:08


--------------------
Go to the top of the page
+Quote Post
Merol
post 4.07.2015, 23:56:15
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Dziękuję za pomoc Rafał smile.gif! Jesteś wielki! Działa!

Teraz zastanawiam się jak dodać CENĘ pod tytułem oferty w sekcji "Ostatnio Dodane Oferty" na stronie głównej. Czy wystarczy dodać w odpowiednim miejscu?:
  1. <?php echo get_post_meta( $post->ID, 'price', '<li>Cena: ', ', ', '</li>' ); ?>

  1. Tak wygląda home.php w tym fragmencie kodu.
  2. <div class="row">
  3. <h3 id="latest-listings"><span>Ostatnio Dodane Oferty</span></h3>
  4. <?php $the_query = new WP_Query('showposts=3&post_type=listings') ?>
  5. <?php if($the_query->found_posts == 0){
  6. for($i=1; $i<=3; $i++){echo dummy_listings();}
  7. }else{ ?>
  8. <?php while ( $the_query->have_posts() ) : $the_query->the_post();?>
  9. <div class="four columns listing">
  10. <div class="post-container short">
  11. <?php echo has_post_thumbnail() ? my_get_image(true) : my_get_image_blank(true);?>
  12. <h5><a href="<?php the_permalink();?>"><?php the_title();?> </a></h5>
  13. <p>dodano <?php the_time('j F, Y');?><a class="small button" href="<?php the_permalink();?>">&rarr;</a></p>
  14. </div>
  15. </div>
  16. <?php endwhile; wp_reset_postdata();?>
  17. <?php } ?>
  18. </div><!--end row-->
  19. </div><!--end content-->


Dodałem
  1. <?php echo get_the_term_list( $post->ID, 'price', 'Cena: ', ', ', '' ); ?></h5>

I działa. Ale nie chciałbym, żeby to był ODNOŚNIK do kategorii kiedy najedzie się na wartość ceny. Tylko po prostu wypisana wartość... Jak to zrobić?

Ten post edytował Merol 4.07.2015, 17:20:11
Go to the top of the page
+Quote Post
maniek74
post 5.07.2015, 15:28:17
Post #8





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 26.08.2013

Ostrzeżenie: (0%)
-----


Witam
Przepraszam że się pytam ale po co pchasz się w gotowy szablon. Nie prościej napisać swój od początku. zasady wordpres sa proste:

plik header.php - tutaj piszesz górę strony
pliki page_cos tam.php - strony www
Template Name: home - nazwa szablonu

  1. <?php
  2. /**
  3.  * Template Name: home
  4.  *
  5.  */
  6.  
  7. get_header();
  8.  
  9. ?>
  10. <meta charset="utf-8">


pliki single_coś tam.php - wpisy
[oferta] - nazwa szablonu
  1. <?php
  2. /*
  3. Single Post Template: [oferta]
  4. Description: This part is optional, but helpful for describing the Post Template
  5. */
  6. ?>
  7. <?php get_header(); ?>
  8. <!-- Content start -->
  9.  
  10. <meta charset="utf-8">



wywal wszystko jak leci i dodaj pluginy
Advanced Custom Fields
Page Links To
Single Post Template
TinyMCE Advanced

i to wszystko jeśli znasz trochę php, html i css to dasz radę.

a jeszcze musisz mić plik
functions.php
gdzie sobie piszesz funkcje

np.
  1. <?php
  2. add_action('get_header', 'remove_admin_login_header');
  3. function remove_admin_login_header() {
  4. remove_action('wp_head', '_admin_bar_bump_cb');
  5. }
  6.  
  7. add_theme_support('post-thumbnails');
  8.  
  9.  
  10. function register_my_menus() {
  11. register_nav_menus(array('header-menu-left' => __('Header Menu Left'),
  12. 'header-menu-right' => __('Header Menu Right'),
  13. 'header-menu-mobile' => __('Header Menu Mobile'),
  14. 'footer-menu' => __('Footer Menu')));
  15. }
  16.  
  17. add_action('init', 'register_my_menus');
  18.  
  19. pll_register_string('RECEPCJA', 'text_reception', 'header');
  20. pll_register_string('BIURO', 'text_office', 'header');
  21. pll_register_string('RESTAURACJA', 'text_restaurant', 'header');
  22. pll_register_string('facebook', 'link_facebook', 'header');
  23. pll_register_string('google', 'link_google', 'header');
  24. pll_register_string('youtube', 'link_youtube', 'header');
  25. pll_register_string('twiter', 'link_twiter', 'header');
  26. pll_register_string('instagram', 'link_instagram', 'header');
  27. pll_register_string('skype', 'link_skype', 'header');
  28. pll_register_string('email', 'link_email', 'header');
  29. pll_register_string('ZAREZERWUJ SWÓJ POBYT ONLINE!', 'button_reservation', 'header');
  30. ?>


na prawdę wszystko jest proste jak nie to napisz na pw swój email to dam ci swój i Ci pomogę
Go to the top of the page
+Quote Post
Merol
post 5.07.2015, 20:31:11
Post #9





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Dziękuję za odpowiedź Maniek smile.gif. W ciągu kilku dni ruszam z działalnością, więc zacznę budować nową stronę w wolnym czasie, ucząc się języków, o których wspominałeś. Póki co muszę się zadowolić tym co mam smile.gif.

Pozostały mi dwa problemy do rozwiązania.

1.
Jak mogę ustawić, żeby CENA w wyszukiwarce ofert nie była polem wyboru tylko, żeby samemu trzeba było wpisać wartość? Chciałbym, żeby te pole, które teraz jest przedzieliło się na dwa o jednakowej wielkości, bo jest tam wystarczająca ilość miejsca, żeby to zrobić. Do tego chciałbym, żeby na tych polach, które stworzymy na jednym pisało ''Cena od'', a na drugim ''Cena do'' i jak się by kliknęło to napis ten by znikał i można byłoby wpisać wartość.

2.
Chciałbym do bloga załączyć przycisk "Czytaj dalej"

Ten post edytował Merol 5.07.2015, 21:08:34
Go to the top of the page
+Quote Post
maniek74
post 5.07.2015, 21:10:11
Post #10





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 26.08.2013

Ostrzeżenie: (0%)
-----


zainstaluj plugin Advanced Custom Fields będziesz mógł zdefiniować dodatkowe pola do kazdej strony.

Zdefiniowane pole pokazuje <?php echo get_field('nazwa_pola'); ?> lub <?php the_field('nazwa_pola'); ?>
ja stosuje get przy warunkach if a gdy tylko pokazać to the_field

tutaj masz opis
http://www.advancedcustomfields.com/

mapisz jaki rodzaj chcesz czytaj więcej:

A. http://loh-test.pl/mcm/medicine/
B. http://itcompart2.nazwa.pl/borowieckihotel/strona-glowna/ - boxy po prawej


szablon to 2-3 dni pracy pod worpresa, jesli klient mi daje psd to biorę 400 PLN za szablon, rwd 600

Go to the top of the page
+Quote Post
Merol
post 6.07.2015, 17:02:54
Post #11





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.07.2015

Ostrzeżenie: (0%)
-----


Zdecydowanie A!

Bawię się tym ACF teraz, ale nie za bardzo rozumiem jak mogę stworzyć pola wyszukujące podane wartości zapisane z taxonomies :/.

/edit
Maniek gdybym dysponował jakimikolwiek środkami to na pewno bym zapłacił komuś za zrobienie mi takiej strony na bazie jakiegoś motywu z themeforest, ale niestety nie dysponuje jakąkolwiek wolną gotówką na dzień dzisiejszy, stąd też muszę sobie radzić sam mając nadzieję, że znajdzie się ktoś na tyle miły, żeby troszkę mnie wesprzeć w dziedzinie, o której nie mam zielonego pojęcia tongue.gif.

A więc jak mógłbym zrobić ten readmore z przykładu A i te pola? Pomożecie? Naprawdę staram się szukać na własną rękę, ale to nie takie proste dla kompletnego nowicjusza :/.

Ten post edytował Merol 5.07.2015, 23:16:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 21:52