2010-08-09 37 views
0

我有一个初学者的问题。解决WordPress中变更管理问题的最佳方法是什么?我有一个全部页面的WordPress安装。假设某个事件或实体的名称从A更改为B,那么我必须到所有页面进行更改。有没有更好的方法来做到这一点?像外部化或什么的。 或者类似于WordPress如何使用bloginfo()函数处理博客名称的方式。您在一个地方更改博客名称,并且它随处可见。WordPress的变更管理

感谢, 帕拉斯

+1

页面是否包含事件的名称?多个页面上显示的是相同的事件吗?请更具体地谈谈你所问的'事件'和'实体'。 – kevtrout 2010-08-09 15:27:45

+0

也许“事件”就是个不好的例子。假设我的公司名称是ABC Corporation。在整个网站中,我已经提到了100页。现在,如果它改变为XYZ公司,那么我现在必须打开所有的100页并且改变。我知道这种类型的维护在后台很容易。我希望能够从UI中完成它。如果有插件让我提及{org_name}而不是在页面上对其进行硬编码,然后我可以指定这个org_name只有一次。 – Paras 2010-08-09 18:16:35

+1

我已经更新了[我的答案](http://stackoverflow.com/questions/3441200/change-management-in-wordpress/3442024#3442024)与一些代码来做到这一点。我不知道有一个插件可以为你做这件事,但代码非常简单,所以如果你不需要UI来添加或编辑代码,你可以使用它。 – 2010-08-10 19:00:53

回答

2

如果您网站上的变化的网址,它始终是明智的,留下一个重定向到新的一页。这将有助于您的访问者和搜索引擎。如果您创建重定向,如果您的某个帖子中仍有旧地址的链接,则无关紧要。可能会有一个插件,但我不知道哪一个。

如果您确实想让所有链接都指向最新版本,您可以将它们替换为评估为真实网址的简码。 <a href="[linkto postid=123]">会导致<a href="/2010/08/05/some-post">。我认为这是可行的,但我不知道这个插件是否已经存在。

您也可以使用此技术来替换简短片段,例如公司名称。该Shortcode API是很容易的:

// [company_name] 
function replace_company_name($atts) { 
    return "My Awesome Company"; 
} 
add_shortcode('company_name', 'replace_company_name'); 


// More generic 
// [replace r='company_name'] 
// [replace r='company_motto'] 
function do_replacement($atts) { 
    $replacements = array(
     'company_name' => 'My Awesome Company', 
     'company_motto' => 'A Company so Awesome even you would want to work here!', 
    ); 

    return $replacements[$atts['r']]; 
} 
add_shortcode('replace', 'do_replacement'); 

您可以硬编码字符串在你的插件代码,或者你可以创建一个WordPress选项页,用户可以添加和编辑新的简码。

+0

感谢您的回复。我不是在谈论URL的变化等 – Paras 2010-08-09 18:13:03

+0

谢谢。这正是我所期待的 – Paras 2010-08-10 20:38:59