0

我在 wordpress 中建立了一个 211 模板站点,我只使用 CMS 中的页面(没有帖子)。我有一个名为“Classes”的页面,它的页面内容会定期更新。

我想在每个页面的右上角添加一个正方形,显示“课程”页面的开始部分,下面的“更多”链接可以将人们引导到“课程”页面。

目前,我只是在学习时在 content-page.php 中添加了一个 html div。有没有插件可以实现我的目标?或者你能否给我一些关于如何编码的指导(一些建议的代码或学习链接会有所帮助)?

谢谢你。

4

2 回答 2

2

如果您尝试在 PHP 中执行此操作,您可以尝试类似这样的操作

<?php         
    $page_id = 11; //set page ID
    $page_data = get_page($page_id);
    $title = $page_data->post_title;
    $permalink = get_permalink($page_id);
    echo '<a href="'. $permalink .'">'. $title . '</a>';
    echo '<p>' . the_excerpt() . '<a href="'. $permalink . '">Read more</a></p>';
?>

如果您需要此脚本的页面 ID,您可以使用它

<?php
     $pages = get_pages();
     foreach ( $pages as $page ) {
         echo 'ID: '. $page->ID . ' title: ' . $page->post_title.'<br>';
     }
?>

如果您尝试基于小部件执行此操作,则需要确保这些步骤。

在 Twenty Twelve 主题中,您在Widgets部分中有一个名为Main Sidebar的部分。在此区域中,您将添加您想要的小部件,并确保您希望小部件所在的所有页面都设置为“默认主题”而不是“全角页面模板,无侧边栏”。

另外我不知道您是否对代码进行了任何更改,但如果有,您需要确保您的 wp-content/themes/twentytwelve/index.php 在页脚部分之前仍然具有此内容。

<?php get_sidebar(); ?> 

如果你想扩大你的小部件区域,你可以篡改控制宽度的 CSS,但要注意这可能会影响容器内项目的稳定性。

wp-content/themes/twentytwelve/style.css

线 1446 - 1449

编辑宽度

.widget-area {
    float: right;
    width: 26.041666667%;
}

如果编辑了先前的值,您还需要编辑主站点内容以具有适当的比例百分比。

线 1437 - 1440

.site-content {
    float: left;
    width: 65.104166667%;
}

于 2013-03-11T06:23:23.587 回答
1

You don't have to use a plugin

The thing you are trying to achieve is quite easily done by editing your template files, depending on your needs. I will suggest the simplest solution, but perhaps you may transform this snippet into a widget for a more dynamic/maintainable usage.

  1. Edit the page.php template file in order to make something appear in every page of your Wordpress installation.

  2. Set up the desired layout for your box (perhaps <div> with some float: right).

  3. Get the page you desire and store it into a php variable, like so: <?php $page = get_page( $page_id ); ?>

  4. Get the position of the <!--more--> tag, using stripos.

  5. Get only the part before the <!--more--> tag, using substr.

  6. Apply the_content filters and then echo.

Your code will look a bit like this:

<div class="right-info">
    <?php
    $page = get_page(id);
    $more_tag = stripos( $page->post_content, '<!--more-->' );
    $excerpt = substr( $page->post_content, 0, $more_tag ); 
    echo apply_filters('the_content', $excerpt);
    ?>
</div>
于 2013-03-11T04:43:12.437 回答