How to do a section of bulleted text within our page?

Generally since WordPress’ biggest selling point is it’s content management, what clients want the most are sites they can edit without any code in the way or any chances that they might break something – so putting html in the text editor beyond unordered/ordered lists is bad practice and defeats the point of making content easy to manage.

Judging by the image you provided as an example, it looks like these bulleted lists aren’t inline with the rest of the content as well so you’re going to need html to get that layout. To keep the html outside of the text editor and keep editing as clean as possible for you and your client, I’d suggest to stop relying on page.php and make your own page template.

In the template, you can lay out any html you need and use the loop to call anything in the main text editor. Without using plugins, you can take advantage of custom fields or with a plugin, having a Magic Field where they can edit their bulleted list. Having your template assigned to each page, calling the page content and the list coming from a field will grab the content only from that specific page. And it will also eliminate any complicated HTML in the text editor by leaving it in the template wrapped around your loops and functionality.

If you really, really don’t want the client to have to write any html at all, even uls/lis, if you’re using Magic Fields and your own template, you can make a field that can be duplicated on the WP Admin and use a foreach with PHP in your template. Something like this:

<?php if ( get_field('list-item') == TRUE ) : ?>
<!--This checks to see if your client is writing anything in this field, if not, your html won't show on the template at all, it'll be cleaner this way -->
<ul>
<?php $listItems = get_field('list-item');
  foreach($listItems as $listItem) {
    echo "<li>" . $listItem . "</li>";
  } ?>
</ul>
<?php endif; ?>

This example is explained more on the Magic Fields 2 Wiki under “Working with groups, duplicate groups and duplicate fields”. Basically it’s taking the fields from that page, and with every duplicated field, it will wrap it in an li. And if your client doesn’t use the field at all, the if statement around the entire thing will just hide the HTML completely on the front-end. Hope this helps to put you in the right direction. Good luck!

tech