0ورڈپریس علامتmystique کے 3 Theme: Full-post and Excerpts

I’ve been try­ing to fig­ure out how to dis­play full posts on the home page, and excerpts on all archives for about 3 days. This is nice because it means a decent amount of each post is shown on the front page, whilst archive pages con­tain a much more con­cise sum­mary of each post. This is bet­ter both for humans, and also for یہ — my archive pages now don’t have duplic­ate con­tent from my home page!

I’ve finally pro­duced a solu­tion. It’s not espe­cially eleg­ant, but I’ve been at the very lim­it of my پی ایچ پی know­ledge just to achieve this meth­od. This applies spe­cific­ally to the Mys­tique 3 موضوع, oth­er themes are likely to vary, although some of this inform­a­tion may or may not prove rel­ev­ant. If you are try­ing or suc­ceed in doing the same to a dif­fer­ent theme do drop a com­ment in.

How it currently works

Mys­tique has options which allow the admin to choose wheth­er to dis­play excerpts or full posts. This option is stored as $post_content_mode inside the $options array.

The file archive.php dis­plays the archive and dis­plays each post in a loop via teaser.php

teaser.php has the line

[پی ایچ پی]<?پی ایچ پی (is_sticky() && is_home()) ? the_content() : $app->post->مواد(); ?>[/پی ایچ پی]

This line gen­er­ates the con­tent via a call to the func­tion get­Con­tent in the file AtomObjectPost.php. If this line is com­men­ted the post con­tents dis­ap­pear from archive pages.

The get­Con­tent func­tion loads $options and as a res­ults either calls the_content() or the_excerpt() which are word­press built-in functions.

حل

I’ve man­aged to achieve what I wish by modi­fy­ing teaser.php — but its a bit of a botch job I think. I just replaced

[پی ایچ پی]<?پی ایچ پی (is_sticky() && is_home()) ? the_content() : $app->post->مواد(); ?>[/پی ایچ پی]

کے ساتھ

[پی ایچ پی]<?php if(is_home()): ?>
<?پی ایچ پی (is_sticky() && is_home()) ? the_content() : $app->post->مواد(); ?>
<?php else: ?>
<?پی ایچ پی (is_sticky() && is_home()) ? the_excerpt() : $app->post->مواد(‘e’); ?>
<?php endif; ?>[/پی ایچ پی]

A better solution?

I would rather imple­ment this solu­tion via an addi­tion to functions.php but I have no idea how to do so. My پی ایچ پی know­ledge just isn’t good enough.

جواب چھوڑیں