如何在wordpress中使用get_template_part()来使用get_post()来获取特定帖子?

时间:2016-08-23 12:19:07

标签: php wordpress wordpress-theming custom-wordpress-pages

我正在创建我的第一个wordpress主题。 我目前正在使用循环和get_template_part()来显示我的帖子列表,如下所示:

while ( have_posts() ) {
    the_post();
    get_template_part( 'content', get_post_format() );
}

这很有用,并且正在加载content.php作为帖子的模板。

我想在常规帖子输出结尾处使用get_template_part()显示特定帖子。 我添加了这个用于在我的while循环后用Id 123显示我的帖子:

get_post(123);
get_template_part( 'content', get_post_format() );

所以总代码是:

while ( have_posts() ) {
    the_post();
    if($post->ID != 123) // exclude Post 123 from output
        get_template_part( 'content', get_post_format() );
}

get_post(123);
get_template_part( 'content', get_post_format() );

但这只是重复常规循环中的最后一个条目。 有人可以帮忙吗?

谢谢和问候 扬

1 个答案:

答案 0 :(得分:6)

以下是工作解决方案:

import urllib2
import MySQLdb as mdb

con = mdb.connect('localhost', 'root', 'root', 'sample_db');

with con:

    cur1 = con.cursor()
    cur1.execute("SELECT site_id FROM positive_outcomes")

    row1 =  [item[0] for item in cur1.fetchall()]

site_id_list = row1

uniprot_url = "http://www.uniprot.org/uniprot/"  # constant Uniprot Namespace

def get_fasta(site):

    with open('Q9L422_112.fasta', 'r') as myfile:
        data=myfile.read()
        str1 = data[site:site+20]
        temp = data[site-1:site-1-20:-1]
        str2 = temp[::-1]
        print str2+str1


def main():
    # iterate over the list of IDS
    for k,v in enumerate(site_id_list):
        get_fasta(v)

    # or read from a text file
    # input_file = open("positive_copy.txt").readlines()
    # get_fasta(input_file)


if __name__ == '__main__':
    main()

https://codex.wordpress.org/Function_Reference/setup_postdata