NemProgrammering.dk logo

Indsæt administrations-felter til dit plugin med settings API´et

Avanceret WordPress » Indsæt administrations-felter til dit plugin med settings API´et # 23
Denne video kræver medlemskab
Læs mere!
Indsæt administrations-felter til dit plugin med settings API´et
Inkluderet:
Livstidsadgang
39 videolektioner
7 timers undervisning
Stil spørgsmål
Kursusbevis

Information om denne video

Underviser: Thomas M. Iversen   Video: 13:54   Lektion nr. 23 af 39

I sidste video fik vi opsat grundlaget for, at vi nu kan begynde at indsætte forskellige felter på vores administrationsside, som kan udfyldes og bruges i vores plugin. Vi skal derfor i denne video indsætte et tekstfelt, hvor man skal kunne indsætte og gemme den besked, som skal vises til de besøgende på siden.

I næste video skal vi se, hvordan du kan tage den tekst vi gemmer i tekstfeltet i denne video og vise den som besked til dine besøgende på din side.

Spørgsmål og kommentarer

Kun medlemmer med adgang til dette kursus kan stille spørgsmål og kommentere. Bliv medlem her!

  • Tony H. siger:

    Jeg har leget med at sætte ekstra felter ind, så jeg fx kan vise flere tekster på en gang i toppen.

    I koden for at placere det på siden, da lavede vi en regel på at det skulle skjules hvis den ikke havde noget indhold, hvordan kan jeg gøre det når jeg har flere felter?

    Min kode ser sådan ud:

    function top_news_print_message () {
    $top_news_string_public = get_option(‘news’);
    $top_news_message_string_publich_url = get_option(‘news-url’);
    $top_news_string_public_2 = get_option(‘news-2’);
    $top_news_message_string_publich_url_2 = get_option(‘news-url-2’);
    if(!empty($top_news_string_public )) {
    echo “”. $top_news_string_public . “. ” . “Læs mere” .
    ” | ” . $top_news_string_public_2 . “. ” . “Læs mere” . ” “;
    }
    }

    Som det er nu så står der “Læs mere” selvom jeg ikke har noget tekst i News 2, jeg prøvede at inkludere den med OR og &&, men synes ikke rigtigt det ændre det store.

    DBH

    1. Thomas I. siger:

      Hej Tony,

      Du er nok nød til at placere den i sit eget if-statement, eller risikerer du, at begge beskeder vises, hvis bare én af dem er udfyldt:

      if(!empty($top_news_string_public_2 )) {
      //indhold
      }

      1. Tony H. siger:

        Hej Thomas,

        Det har jeg også forsøgt, men jeg har følgende variabler:
        top_news_string_public
        top_news_string_public_2
        top_news_string_publich_url
        top_news_string_publich_url_2

        Det vises fint, hvis jeg skriver i første 2 felter, men i det øjeblik jeg skriver i “område 2” felterne, så er det kun det der bliver vist, og teksten i de første to felter vises ikke længere.

        1. Thomas I. siger:

          Hej Tony,

          Har du prøvet at lave en seperat “print on page” funktion for hver af dine “områder”? U middelbart ligner det, at du bruger den samme funktion, så måske det ville virke, hvis du laver alt til området 2, som du har lavet til område 1.

          Mvh.

          1. Tony H. siger:

            Hej Thomas,

            Ved ikke om det er fordi jeg bruger tag at det bliver et problem?

            Du kan se min kode her, hvor jeg har delt koden op:
            https://pastebin.com/6AfrCQ2A

            1. Thomas I. siger:

              Hej Tony,

              Umiddelbart ser det jo ok ud. Der er lidt med at du lukker din div og marquee
              inde i et if-statement, så hvis der ikke er en url, så lukkes din div ikke korrekt – men det burde ikke gøre, at det slet ikke blev vist.

              Jeg lagde også mærke til at de bruger den samme klasse top_news. og hvis denne har en absolut position, vil de to divs jo ligge sig oveni hinanden.

              Har du derfor tjekket kildekoden om de faktisk begge er der, men det kun er den ene der kan ses, fordi den anden placerer sig over den anden.

              Mvh.

            2. Tony H. siger:

              Ok.

              Jeg kan se begge to kommer ud på siden, men som du selv nævner så ligger de sig over hinanden, hvordan undgår jeg det?

              Jeg kan selvfølgelig ligge det hele i samme echo, men så har jeg jo ikke mulighed for at tjekke om det er udfyldt eller ej, så hvordan ville du løse det problem?

            3. Tony H. siger:

              Nu har jeg rykket marque og div ud af echo, for at kører dem før og efter den tjekker.
              Ser det mere rigtigt ud?
              Nu får jeg teksterne ud efter hinanden, men er det den rigtige måde at gøre det på?

              https://pastebin.com/bhGztpQL

  • Tony H. siger:

    Hej Thomas,

    Super fin video, og jeg har fyldt den hele vejen igennem, dog oplever jeg er problem med at jeg ikke får gemt min tekst som jeg skriver i tekstområdet.
    Jeg har brugt “settings_errors”-funktionen også, men får heller ingen besked om hvor vidt det er gemt eller ej.

    Er der sket ændringer i WordPress siden at videoen er lavet, som gør jeg ikke helt kan følge denne guide?

    DBH

    1. Tony H. siger:

      Jeg fik løst problemet.
      Havde sluttet formen af for tidligt, så submit knappen ikke var en del af dem.

      DBH