在.class中包装Wordpress文本内容

时间:2017-06-01 22:28:43

标签: jquery css wordpress

我试图将WordPress帖子中的文本内容包装在一个类中。基本上任何未包含在<img>标记中的内容。

我试过

function sr_wrap_content_in_div( $content ) {
    $contents = explode("<img", $content);

    foreach($contents as $content) {
        $before_tag = strstr($content, '/>', true); 
        $after_tag = strstr($content, '/>');
        if( $before_tag == '' && $after_tag == '' ) {
            echo '<div class="content-wrap">' . $content . '</div></div>'; // change it later if you need to
        } else if( $after_tag == '/> ' ) {
            echo '<img' . $before_tag . '/>';
        } else {
            echo '<img' . $before_tag . '/>' . '<div class="content-wrap">' . substr($after_tag, 2) . '</div></div>'; // change here too.
        }
}
}
add_filter( 'the_content', 'sr_wrap_content_in_div' );

哪个接近。它包装内容但它也包含任何图像之间的空白空间。

2 个答案:

答案 0 :(得分:1)

根据您上面的解释,这是为其构建样式表的类型。没有混乱的HTML与额外的课程等。

首先,找出div或wrapper元素包含所有测试的内容。可能是<div class='content'><div id='main'>或类似的东西。

然后,在主题的样式表中,执行以下操作:

div#main p{padding:0 20px;}
div#main p + img{margin-top:30px}

最后一个将30px的上边距应用于紧跟在段落后面的任何图像,这听起来像你的想法。

答案 1 :(得分:0)

好吧,我的答案将与样式表一致,正如所有人所说,

根据我对您遇到的问题的理解,您面临的问题是它在本地服务器上,但我会将其视为一个机会。

您可以检查样式表的临时界面是否为调试窗口。您可以通过按网页上的f12键来获取此窗口,并为您打开元素检查器。现在转到此窗口的元素部分,您将看到左侧部分页面中的所有元素和右侧部分中的样式,您可以暂时应用某些样式以查看结果,只要您对您在主样式表中应用粘贴的样式感到满意。

我会建议这是最有效的方法,也是耗时较少的方法。如果你愿意,试试吧。