Category: WordPress (3)

how to create a post template in Publii which fetches posts by tag

When creating your own theme for Publli, you maybe want to list all posts regarding to one tag on a single page. This can be achieved by the following:

1. create an override folder as descibed here: https://getpublii.com/dev/theme-overrides/

2. copy the config.json from the original theme folder to the overrride folder and add something like

"postTemplates": {
  "portfolio": "portfolio filter"
},

as described here: https://cv.domagic.site/posts/alternative-post-template-with-filter-for-publii-cms

3. duplicate the index.hbs and move this copy to the override folder. Rename it to post-newname.hbs, as described here: https://getpublii.com/dev/how-to-create-custom-templates/

4. The post-newname.hbs now can be used as a post template. Create a post and choose the template: 

5. I built this template to show all posts regarding my trip to Mallorca, so I named the post template "mallorca filter", as it shows posts with the tag 'Mallorca', only.

To achieve this, follow the instructions: https://getpublii.com/dev/how-to-display-posts-connected-with-a-specific-tag-name/

Find the the {{#each post}} helper and replace it with 

{{#each @website.contentStructure.tags}}

and add 

{{#checkIf this.name '==' 'TAGNAME'}}
    {{/each}}
    {{#if this.postsNumber}}
    {{#each this.posts}}

Replace TAGNAME with the tag you want to show/filter. Use the name, not the slug, in my case Mallorca, not mallorca.

Find the closing helper part {{/each}} (from the the {{#each post}} above) and put the following code right before the helper:

{{/each}}
{{/if}}
{{/checkIf}}

 

Lorem Ipsum

für alle, die schon immer wissen wollten, was das ist:

https://de.lipsum.com

Falls ich 'mal Beispiel - Text für posts oder pages brauche, schaue ich immer wieder gern hier vorbei:

http://hipsteripsum.me
http://meettheipsums.com
http://abledemo.wordpress.com
http://cupcakeipsum.com

Außerdem nutze ich gern die App LittleIpsum

apps.apple.com/ca/app/littleipsum/id405772121

WordPress anpassen

Im Folgenden habe ich einige Dinge aufgelistet, mit denen man ein Theme ein bischen auf seine persönliche Vorlieben anpassen kann. Dies sollte man tunlichst in einem child theme machen; eine gute Anleitung, wie man ein child theme einrichtet, und warum, findet sich, Stand heute, unter

https://developer.wordpress.org/themes/advanced-topics/child-themes/

oder hier:

https://www.elmastudio.de/ein-wordpress-child-theme-anlegen-so-gehts-richtig/

Zeilenumbruch in < pre > formatiertem Text

Absätze in WordPress, die mit < pre > formatiert sind, werden vom Browser nicht umgebrochen. Dies kann man mittels CSS ändern:

Für browser wie den Safari fügt man

word-wrap: break-word;   

hinzu.
Leider reicht dies für den Firefox nicht aus, für ihn muss man noch    

white-space:normal;    

ergänzen.

Das CSS kann dann zB so aussehen:

.wp-block-preformatted {word-wrap: break-word;white-space:normal; }

Anmelden ohne Widget

Wer kein Widget in der sidebar oder im footer nutzen möchte, um sich an- oder abzumelden, der kann an geeigneter Stelle folgendes php-snippet einfügen:

?php wp_loginout() ; ?

Und wenn man angemeldet ist, kann man sich an der Stelle auch wieder abmelden ...