我正在使用Custom Field Plugin Pro。我创建了3个字段和4个子字段。现在,当我尝试在single.php WordPress主题编辑器中添加代码时,它将破坏帖子页面CSS。
经过一番摸索,我发现了:当我发布只包含1个域代码的PHP代码时,网站没有中断。但是2/3破坏了网站。另外,我发现,当我在每个字段中输入1-1条目时,网站对所有3个字段的代码都可以正常工作。我不知道为什么会这样。
这是我在single.php中使用的代码
<!-- Show Custom Fiels---------------->
<div id="Custom_Fields" class="sbox fixidtab">
<style>
table, th, td {
border: 1px solid white;
border-collapse: collapse;
background:black;
}
th, td {
padding: 5px;
text-align: center;
}
</style>
<?php
// Field 1 -----
if( have_rows('Field1') ):?>
<div class="custom_fields" style="overflow-x:auto;">
<h2><?php _d('Type : Name'); ?></h2>
<table style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type 1</th>
<th>Type 2</th>
<th>Type 3</th>
<th>Type 4</th>
</tr>
</thead>
<tbody>
<?php while ( have_rows('F1') ) : the_row();
$name_F1 = get_sub_field('name');
$type_F1 = get_sub_field('type');
$link_F1 = get_sub_field('link');
$link_F1_full = "<a href=".$link_F1." target='_blank'>Visit Now</a>";
$language_F1 = get_sub_field('language');
?>
<tr>
<td><?php echo $name_F1; ?></td>
<td><?php echo $type_F1; ?></td>
<td><?php echo $link_F1_full; ?></td>
<td><?php echo $language_F1; ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
<?php
//endwhile;
else :
// no rows found
endif;
?>
</div>
<?php
// Field 2 -----
if( have_rows('Field 2') ):?>
<div class="custom_fields" style="overflow-x:auto;">
<h2><?php _d('Type : Name'); ?></h2>
<table style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type 1</th>
<th>Type 2</th>
<th>Type 3</th>
<th>Type 4</th>
</tr>
</thead>
<tbody>
<?php while ( have_rows('F2') ) : the_row();
$name_F2 = get_sub_field('name');
$type_F2 = get_sub_field('type');
$link_F2 = get_sub_field('link');
$link_F2_full = "<a href=".$link_F2." target='_blank'>Visit Now</a>";
$language_F2 = get_sub_field('language');
?>
<tr>
<td><?php echo $name_F2; ?></td>
<td><?php echo $type_F2; ?></td>
<td><?php echo $link_F2_full; ?></td>
<td><?php echo $language_F2; ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
<?php
//endwhile;
else :
// no rows found
endif;
?>
</div>
<?php
// Field 3 -----
if( have_rows('Field 3') ):?>
<div class="custom_fields" style="overflow-x:auto;">
<h2><?php _d('Type : Name'); ?></h2>
<table style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type 1</th>
<th>Type 2</th>
<th>Type 3</th>
<th>Type 4</th>
</tr>
</thead>
<tbody>
<?php while ( have_rows('F3') ) : the_row();
$name_F3 = get_sub_field('name');
$type_F3 = get_sub_field('type');
$link_F3 = get_sub_field('link');
$link_F3_full = "<a href=".$link_F3." target='_blank'>Visit Now</a>";
$language_F3 = get_sub_field('language');
?>
<tr>
<td><?php echo $name_F3; ?></td>
<td><?php echo $type_F3; ?></td>
<td><?php echo $link_F3_full; ?></td>
<td><?php echo $language_F3; ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
<?php
//endwhile;
else :
// no rows found
endif;
?>
</div>
</div>
如果我仅将代码用于字段1,则网站绝对正确:
<!-- Show Custom Fiels---------------->
<div id="Custom_Fields" class="sbox fixidtab">
<style>
table, th, td {
border: 1px solid white;
border-collapse: collapse;
background:black;
}
th, td {
padding: 5px;
text-align: center;
}
</style>
<?php
// Field 1 -----
if( have_rows('Field1') ):?>
<div class="custom_fields" style="overflow-x:auto;">
<h2><?php _d('Type : Name'); ?></h2>
<table style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type 1</th>
<th>Type 2</th>
<th>Type 3</th>
<th>Type 4</th>
</tr>
</thead>
<tbody>
<?php while ( have_rows('F1') ) : the_row();
$name_F1 = get_sub_field('name');
$type_F1 = get_sub_field('type');
$link_F1 = get_sub_field('link');
$link_F1_full = "<a href=".$link_F1." target='_blank'>Visit Now</a>";
$language_F1 = get_sub_field('language');
?>
<tr>
<td><?php echo $name_F1; ?></td>
<td><?php echo $type_F1; ?></td>
<td><?php echo $link_F1_full; ?></td>
<td><?php echo $language_F1; ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
<?php
//endwhile;
else :
// no rows found
endif;
?>
</div>
</div>
<?php
// Field 1 -----
if( have_rows('F1') ): // i think it has to be F1 instead of Field1 here?
?>
<div class="custom_fields" style="overflow-x:auto;">
<h2><?php _d('Type : Name'); ?></h2>
<table style="width:100%">
<thead>
<tr>
<th>Name</th>
<th>Type 1</th>
<th>Type 2</th>
<th>Type 3</th>
<th>Type 4</th>
</tr>
</thead>
<tbody>
<?php while ( have_rows('F1') ) : the_row();
$name_F1 = get_sub_field('name');
$type_F1 = get_sub_field('type');
$link_F1 = get_sub_field('link');
$link_F1_full = "<a href=".$link_F1." target='_blank'>Visit Now</a>";
$language_F1 = get_sub_field('language');
?>
<tr>
<td><?php echo $name_F1; ?></td>
<td><?php echo $type_F1; ?></td>
<td><?php echo $link_F1_full; ?></td>
<td><?php echo $language_F1; ?></td>
</tr>
<?php
endwhile;
?>
</tbody>
</table>
</div><!-- RIGHT HERE -->
<?php
//endwhile;
else:
// no rows found
endif;
?>
<!--</div> WRONG HERE -->