WordPress-允许在页面创建时将动态文本添加到侧边栏

时间:2013-02-26 作者:Johnny

我在WordPress中有一个页面模板,允许创建新页面来显示和解释治疗细节。E、 g。

当从模板创建新的治疗页面时,需要将提供治疗的诊所放在侧栏中。对于大多数治疗页面,列出的诊所会有所不同,因此这些信息不能硬编码。

我不确定该怎么做?

我有一个模板使用的独特侧栏,但我不确定如何将此动态功能合并到侧栏中?

我想,当我在WordPress中创建页面时,有一个类似“特色图片”的选项,我可以在其中输入这些信息。

非常感谢您的帮助。

谢谢

1 个回复
SO网友:sanchothefat

如果不需要存储太多附加信息,请添加自定义分类法。这是获取一组可分配给页面的标签的最简单方法。

以下是基于此codex页面使用自定义分类法的基本方法:

http://codex.wordpress.org/Function_Reference/register_taxonomy

add_action( \'init\', \'create_clinic_tax\' );

function create_clinic_tax() {
    register_taxonomy(
       \'clinic\',
       \'page\', // post type to register the taxonomy with
       array(
          \'label\' => __( \'Clinic\' ),
          \'rewrite\' => array( \'slug\' => \'clinic\' ),
          \'hierarchical\' => true
       )
    );
}
在您的functions.php 您将在编辑屏幕侧边栏中获得一个类似于类别框的框。您可以添加诊所名称或从现有名称中进行选择。

在侧边栏中显示诊所如下:

With links:

if ( is_page() ) {
    echo \'<ul class="clinics">\';
    the_terms( get_the_ID(), \'clinic\', \'<li>\', \'\', \'</li>\' );
    echo \'</ul>\';
}

Without links:

if ( is_page() ) {
    $clinics = get_the_terms( get_the_ID(), \'clinic\' );
    if ( $clinics ) {
        echo \'<ul class="clinics">\';
        foreach( $clinics as $clinic ) {
            echo "<li>{$clinic->name}</li>";
        }
        echo \'</ul>\';
    } else {
        // no clinics assigned
    }
}
如果您使用该选项在访问者单击诊所时将其显示为链接,他们将看到一个归档页面,其中列出了与该诊所相关的治疗方法。可能很方便。

您也可以使用高级自定义字段插件向您的诊所添加额外的字段,这些字段可以显示在诊所存档页面上。

http://www.advancedcustomfields.com/

如果诊所需要更多元数据和可靠的永久链接,您最好使用自定义帖子类型,并使用高级自定义字段插件添加一个字段来选择相关诊所。

要注册帖子类型,请查看codex页面register_post_type():

http://codex.wordpress.org/Function_Reference/register_post_type

结束

相关推荐

Single Widget Multi Sidebar

我编写了一个小部件,它基于类型下拉列表具有多种输出格式。我打算在左侧和右侧边栏上使用这个小部件。然而,问题是它只显示在左侧或右侧的一个侧栏上。我希望小部件显示在两侧栏上请在下面找到小部件代码: class Posts_Widgets extends WP_Widget{ function __construct(){ $id = \"posts_widgets\"; $name = \"Anzima Posts Widgets\"; $