WordPress主题文件组织

时间:2020-06-22 作者:Abdelrahman

我是WordPress主题开发的新手,我愿意在index.php, 我发现文件本身变得更加复杂,许多HTML标记与PHP代码和循环交织在一起,我认为很难保留在结构上,那么是否有任何定义的结构可以使代码在功能上更具组织性和可编辑性?

1 个回复
最合适的回答,由SO网友:mozboz 整理而成

Wordpress社区似乎真的很喜欢这种PHP和HTML的混合,正如您所说的,这通常会导致很难理解和维护代码。

将“逻辑”和“表示”分开是一种常见的编程模式。这里的逻辑是决策的PHP代码,表示是HTML。

我强烈建议尽可能将两者分开,并在一个位置放置尽可能多的PHP,在另一个位置放置尽可能多的HTML。

例如,您可能有:

<b>Your name: <?php if user_logged_in() { $name=get_user_name(); echo $name; }  else { echo "please log in!"; } ?></b>
要将其分开,您可以写:

<?php 
      if (user_logged_in()) {
            $name = get_user_name();
       } else { 
            $name = "please log in!";
       }
?>

<b>Your name: <?php echo $name ; ?></b>
这种方法允许您开始将所有PHP和“业务逻辑”从HTML和“表示”中移开,以便您可以改变事物工作方式的逻辑,使其与表示方式分开。

我希望这有帮助!还有一些更高级的解决方案,比如PHP模板引擎,它们可以更好地进行分离,但这可能有些过头了。

相关推荐

Get Current User ID Inside a Loop返回0表示短码

我有一个函数,它对给定作者的所有帖子都有一个循环。我使用get_current_user_id() 但这在循环中似乎不起作用,或者可能是它的短代码问题。我的函数在shortcode的帮助下运行。当前用户总是返回0,因此它会显示我网站上所有帖子的元数据。function get_meta_value_by_meta_key(){ $author_id = \'get_current_user_id()\'; // do stuff to get user I $author