Toon posts:

Break toevoegen in PHP

Pagina: 1
Acties:

Onderwerpen

Vraag


  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
Ik wil tussen Voorraad! en voor een break hebben.
...

In PHP wordt de tag <br> gebruikt echter krijg je dit letterlijk op de website te zien als ik dit hier invoer.
weet iemand hoe ik een break in kan voeren met deze code

if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad! voor 17:00 besteld morgen in huis', 'woocommerce');
}

ik heb al geprobeerd met de " te werken en verschillende oplossingen die op w3schools te vinden zijn, dit heeft allemaal niet gewerkt.

Alle reacties


  • deagan1337
  • Registratie: Oktober 2014
  • Laatst online: 03-02 14:00
if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad!\nvoor 17:00 besteld morgen in huis', 'woocommerce');
}

of in html

if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad!<br />voor 17:00 besteld morgen in huis', 'woocommerce');
}

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

deagan1337 schreef op dinsdag 2 oktober 2018 @ 14:07:
if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad!\nvoor 17:00 besteld morgen in huis', 'woocommerce');
}

of in html

if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad!<br />voor 17:00 besteld morgen in huis', 'woocommerce');
}
newline (\n) moet tussen dubbele quotes (")
@Casvdwijngaard als new line niet werkt kijk dan eens naar htmlentities en verwante functies

  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
@emnich dus als het goed is moet de newline zo toegepast worden? Of zou het in '\n' moeten omdat de rest ook met een enkele ' staat?

if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Op voorraad!"\n"voor 17:00 besteld morgen in huis', 'woocommerce');
}

[Voor 13% gewijzigd door Casvdwijngaard op 03-10-2018 11:04]


  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

@Casvdwijngaard Nee, het geheel moet in ":
PHP:
1
$availability['availability'] = __("Op voorraad!\nvoor 17:00 besteld morgen in huis", 'woocommerce');


Ik zeg overigens niet dat dit de oplossing is maar als het met een new line werkt dan moet ie in elk geval tussen dubbele quotes omdat je anders gewoon letterlijk \n krijgt.

  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
@emnich
Ik heb ze nu beide geprobeerd en bij de oplossing <br/> krijg ik:
"Op voorraad!<br />voor 17:00 besteld morgen in huis"
als uitkomst.

Bij \n krijg ik:
Op voorraad! voor 17:00 besteld morgen in huis.
echter komt "voor 17:00 besteld morgen in huis." niet eronder te staan.

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

Casvdwijngaard schreef op woensdag 3 oktober 2018 @ 11:16:
@emnich
Ik heb ze nu beide geprobeerd en bij de oplossing <br/> krijg ik:
"Op voorraad!<br />voor 17:00 besteld morgen in huis"
als uitkomst.

Bij \n krijg ik:
Op voorraad! voor 17:00 besteld morgen in huis.
echter komt "voor 17:00 besteld morgen in huis." niet eronder te staan.
Dan quote ik mezelf maar:
emnich schreef op dinsdag 2 oktober 2018 @ 14:09:
[...]
@Casvdwijngaard als new line niet werkt kijk dan eens naar htmlentities en verwante functies

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-02 12:54
Casvdwijngaard schreef op woensdag 3 oktober 2018 @ 11:16:
@emnich
Ik heb ze nu beide geprobeerd en bij de oplossing <br/> krijg ik:
"Op voorraad!<br />voor 17:00 besteld morgen in huis"
als uitkomst.

Bij \n krijg ik:
Op voorraad! voor 17:00 besteld morgen in huis.
echter komt "voor 17:00 besteld morgen in huis." niet eronder te staan.
Is dit nou de letterlijke output van het script, of wat je ziet in de browser?

Het is wel zo handig als je kijkt wat de letterlijke output is namelijk.

Waarschijnlijk gebruik je een template engine of iets dergelijks die (gelukkig!) htmlentities escaped. Als dat inderdaad zo is zul je dit in je template op moeten lossen, niet (of iig niet alleen) in je php-code.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 18:17

.oisyn

Moderator Devschuur® / Cryptocurrencies

Demotivational Speaker

emnich schreef op woensdag 3 oktober 2018 @ 11:25:
[...]


Dan quote ik mezelf maar:

[...]
Dat heeft toch geen enkel nut? Blijkbaar gooit woocommerce al een htmlentities() over die string heen anders zou hij de <br> niet letterlijk zien. Je kunt ze niet "unconverten" oid.

If I had a dollar for every time I didn't know what was going on, I'd be like: "Why am I always getting all this money?!"


  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
@.oisyn
zou jij toevallig nog een oplossing weten?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 18:17

.oisyn

Moderator Devschuur® / Cryptocurrencies

Demotivational Speaker

Dan had ik dat wel gemeld ;). Je zult het bij woocommerce moeten zoeken, of welk framework je dan ook gebruikt om die pagina's te genereren (van die is de __() functie?)

If I had a dollar for every time I didn't know what was going on, I'd be like: "Why am I always getting all this money?!"


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 16:58

RM-rf

1 2 3 4 5 7 6 8 9

ik vermoed dat dat de wordpress translate functie is
https://developer.wordpress.org/reference/functions/__/

deze voegt geen htmlentities toe, ik vermoed eerder dat dat misschien gebeurt op het moment dat die waarde $availability['availability'] in de template geplaatst wordt

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
@.oisyn @RM-rf
Ik heb het van deze pagina en dan aangepast
https://antondevilliers.c...-stock-availability-text/

[Voor 12% gewijzigd door Casvdwijngaard op 03-10-2018 12:30]


  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-02 12:54
Nou, zoals al gezegd, met die tutorial ga je het niet niet redden. Je moet waarschijnlijk je template wijzigen. Je zou hier een tweede variable aan mee kunnen geven, of (quick and dirty) een if statement in de template die de tweede regel toevoegd als de availability "op voorraad!" is.

  • Casvdwijngaard
  • Registratie: December 2016
  • Laatst online: 24-01-2019
@mcDavid
Zou je mij kunnen helpen de (quick and dirty) if statement kunnen toevoegen, want ik denk niet dat ik daar uit kom.


add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2);
function wcs_custom_get_availability( $availability, $_product ) {
global $product;

// Change In Stock Text
if ( $_product->is_in_stock() ) {
$availability['availability'] = __('Plenty available in our store!', 'woocommerce');
}

  • Groentjuh
  • Registratie: September 2011
  • Laatst online: 13:29
Je moet die $availability['availability'] volgen. Die wordt ergens in de uiteindelijke HTML geplaatst.

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-02 12:54
@Casvdwijngaard al zou ik het willen zou het me niet lukken, ik heb geen flauw idee waar je die template zou kunnen vinden of watvoor template-engine er uberhaupt gebruikt wordt. Begin eens om dat uit te zoeken zou ik zeggen. Als je dat gevonden hebt kun je wijzigingen maken, en als het niet lukt komt er vast weer een gerichte vraag naarboven waar we je hier wél mee kunnen helpen.

Er is niemand zo gek om volledig voor jou uit te zoeken wat je moet doen en alles voor te kauwen. Als je daarnaar op zoek bent kun je beter een professional inhuren.
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee