我对Wordpress和PHP都有些新意,我希望得到关于解决问题的最佳方法的建议,因为到目前为止我没有成功地做到这一点。
我想要处理两个工作:
首先,我希望在我的主页上有一个条件包含,执行以下操作;
查找自定义帖子类型home_content(只有1个帖子,ID 76 - 如果有帮助的话) 显示该帖子中的3个自定义字段... today_on front_widget_a&的值front_widget_b
(我想第二个问题是 - 我甚至可以通过自定义字段传递短代码,因为这些是从这些小部件生成的,是来自插件的短代码)
这就是它。我尝试了get_posts和get_post_meta的各种组合,但没有取得多大成功。要么我得到一些我无法弄清楚的语法错误(相信我,我已经多次梳理我的代码以便丢失分号等)。或者我得到的结果毫无意义。
第二个有点困难。
基本上试图将我的Wordpress的一部分变成一些CMS风格的功能。基本上,我有2个额外的自定义帖子类型,一个名为tag_page_layout,另一个名为tag_page_data。
点击帖子中的标记时,我希望标记页面从tag_page_layout中获取自定义字段1,然后从tag_page_data获取一些自定义字段的数据。
如果我花时间学习用于制作标签的PHP或HTML代码,我可能甚至不需要两种帖子类型,但同样,我正在使用Wordpress短代码插件(如果你看到的话)上面 - 我甚至不确定是否会正常工作 - 当然如果不是我愿意为这些'布局'帖子做多个,那么每个[tab:NAME]短代码位都在它自己的后内容区域。
所以...标签页面基本上会有很多代码在循环之前运行....它在标签页面上知道它,所以它开始从tag_page_layout加载自定义字段1,这实际上是一点点启动Tab分隔数据表示区域的代码。然后,必须单击标记并将其与自定义帖子类型#2中的相同标记ID匹配 - tag_page_data组。然后它将从该页面中获取前3个或左右的字段,交换回布局帖子,从那里抛出另一个自定义字段以启动另一个选项卡,依此类推,直到[tab:END]并运行循环。
我可以包括我所做的各种尝试和一些从未工作过或没有工作过的代码,但我已经在这么多圈子试图构建它。就像我说的那样,我的编码知识是有限的,但我通常可以感觉到自己的方式,但是尝试使Wordpress更像CMS的那些更好的点似乎更难以理解。任何帮助将不胜感激!
答案 0 :(得分:1)
就在自定义字段中使用短代码而言,这可以帮助您,其中XXX是您的自定义字段名称。
<?php
$var = apply_filters('the_content', get_post_meta($post->ID, 'XXX', $single = true) );
echo $var;
?>
此适用标准过滤器wordpress会自动在常规帖子内容上运行,允许它处理您的自定义字段并转换短代码。