我正在创建一个插件,它需要显示外部数据,而不是wordpress帖子。
我所做的:注册重写,以便wp识别我的存档/单个URL,连接到template_include
如果请求的URL是我的URL,则指示它使用我的模板,然后在模板中调用一个函数来加载外部数据并以后期/归档格式显示。
只要我不切换模板,这就行了。不幸的是,在第214和215个模板结构中有一个变化,其中#content
和#main
是倒置的。
二十点十五分:body > #page > #content > #primary > #main
2014年:body > #page > #main > #primary > #content
这意味着无论我为哪个插件模板编写代码,另一个插件模板都会被破坏。
twentyfifteen/single.php
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
// Start the loop.
while ( have_posts() ) : the_post();
twentyfourteen/single.php
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
// Start the Loop.
while ( have_posts() ) : the_post();
因此,我的问题是:
我这样做对吗?您知道注入外部数据的更好方法吗为什么215个标签是倒置的?这不是bug吗?因为我查了一下12点11分的情况,他们都按顺序#主>\\\\主>\\\\内容有没有一种方法可以做到这一点,而不需要包含模板,这样它就可以在更多的网站上工作?由于这些原因,每个使用插件的站点上的模板都会出现问题。我宁愿放弃包含模板,而以某种方式连接到归档中。php和single。php显示我的内容,前提是URL与我的一个请求匹配
SO网友:pSyToR
根据Skribe之前写的。。。如果你还不习惯什么是短码,我会尽量详细说明他的意思。。。
创建短代码是为了在帖子或页面中以不同的方式显示不同的内容。
您可以在此处看到WordPress中包含的现有短代码的当前列表(根据2015-02-20):
http://en.support.wordpress.com/shortcodes/
Skribe所指的API可以在这里找到:(根据2015-02-20)您可以找到有关shortcode的更多详细信息:
http://codex.wordpress.org/Shortcode_API
您可以看到,在帖子或页面中添加短代码将显示图片。(请阅读更多详细信息)。
对于插件,您还可以创建自己的短代码。这将做什么,它将控制您想要的位置和插件的显示方式。一个短代码包含在一个页面或一篇文章中,所以它总是出现在它应该出现的地方(如果你想要的话)。根据Skribe给你的代码:
function foobar_func( $atts ){
return "foo and bar";
}
add_shortcode( \'foobar\', \'foobar_func\' );
您将创建一个页面或一篇文章,其中包含短代码[foobar],它将显示此短代码调用的函数。。。在这种情况下,它会在屏幕上写“foo和bar”。
如果你想让你的插件出现在帖子或页面之外的其他地方,你应该查看WordPress挂钩。如果你需要更多关于钩子的细节,请告诉我,我会补充我的答案。但考虑到你正在谈论的主要内容和内容,你需要的应该是有自己的短代码。