Help file for editors [Private]

This page contains some instructions for the use of SJs website in WordPress. It is published to the website as Private, but do not add any confidential information. To access this page from the website, while logged-in, enter www.stjameschurchabinger.org/_HELP into your browser.  ‘Private’ pages (prefixed with underscore) only viewable by logged-in users.

Table of Contents

Hosting

This website https://www.stjameschurchabinger.org hosted by DesignLynx in Dorking https://www.designlynx.co.uk/ Grant Harrison +44 1306 886337 g.harrison@designlynx.co.uk.

WordPress design by Faye O’Donahue-Hill at OHcreative https://ohcreative.co.uk/, 01306 730938, 0330 111 0064, faye@ohcreative.co.uk

Backup

Website uses Updraft Backup to save regular copies of the database and files. Accessed through Dashboard > Plugins > Updraft Backup > Settings. Set to:
  • Files backup daily, retain 1
  • Database backup weekly, retain 2

File Sizes

To show directory and file sizes for the WordPress installation:

  • Dashboard > Tools > Site Health > Info > Directories and Sizes
### wp-paths-sizes ### (13Aug23)
 
wordpress_path: /home/stjameschurchabi/public_html
wordpress_size: 365.13 MB (382862225 bytes)
uploads_path: /home/stjameschurchabi/public_html/wp-content/uploads
uploads_size: 1,003.15 MB (1051883037 bytes)
themes_path: /home/stjameschurchabi/public_html/wp-content/themes
themes_size: 19.79 MB (20746930 bytes)
plugins_path: /home/stjameschurchabi/public_html/wp-content/plugins
plugins_size: 121.00 MB (126882692 bytes)
database_size: 267.18 MB (280160974 bytes)
total_size: 1.73 GB (1862535858 bytes)

Responsibilities

Responsibility for maintaining this website is shared between Clare Evelyn, Lucy Harlow and Philip Rawlings. In particular:

  • Sermons – Phil
  • Services – Clare
  • Hosting (Design Lynx) – Phil
  • Google Analytics – Phil
  • Safeguarding – Lucy
  • Posts – Clare
  • Charity – Lucy
  • Benefice – Phil
  • Life events – Lucy
  • Community – Lucy
  • Village – Lucy
  • Parish records – Phil
  • Who are we – Clare
  • Contacts – Lucy
  • Choir repertoire, music for services – Phil

Updating Services

In the page “services-this-month”

  1. The services are in a table within a container
  2. The container has the following Custom CSS
    table{font-size: clamp(13px,1.2vw,18px); background-color:ghostwhite; border: 1px solid navy; width:90%; margin:2em 5% 1em 5%;}
    trbody {margin:0; padding:0;} selector td, tr {margin:0; padding: 1.0rem 0.5rem 0.0rem 1rem; border:0px solid red; line-height:0.3em; vertical-align:text-top;}
  3. Copy the table sent from the parish office, paste over the existing table on page “services-this-month”

Popups

 This shortcode invokes a popup builder plugin  called Modal Window using shortcode in any element (here, in a text editor at the top of this page).

Header Template

To add a header to a page, insert the template ‘header’. Comprises a container and two headings within.

  1. Container margin: 30 0 20px
  2. Heading line 1 margin: 30 0 20 0px
  3. Heading line 2 margin: 0 0 9 0px

Create an inline button

To make a button from a link to text.

  1. Create a link to a piece of txt in the normal way.
  2. Add – class=”mybutton” to the link – <a class=”rotabutton” href=”https://www.stjameschurchabinger.org/wp-content/uploads/Locking-rota.pdf”>rota</a>
  3. In Custom CSS style the button e.g. –  .rotabutton {border-radius: 4px; font-size:110%; background-color: lightyellow; padding: 1px; border:1px solid gray;}

Add a New Page

Dashboard > Pages > Add New. 

  1. Change date if you want it to publish on a later date
  2. Click on Edit with Elementor. 
  3. Click folder icon in middle of page above ‘drag widget here’. 
  4. Click ‘My Templates’ at top of screen. 
  5. Select “Page Template”, Insert, Apply
  6. Select ‘Apply’. 
  7. Delete sections you don’t need.
  8. Update

WordPress has added a plugin such that any page can be duplicated and then edited (simpler). See under All Pages.

Update services page

Services for next month are provided by the Parish Office in a word table.

  1. Select the table for St James’. Copy.
  2. Go to the page Upcoming Services
  3. Select the previous table in Visual tab (not Code tab)
  4. Paste the new data

The container in which the table sits has the following CSS (under Advanced tab)

table {font-size:0.8rem;background-color:ghostwhite; border: 1px solid navy; width:90%; margin:2em 5% 2em 5%;}
trbody {text-align:top; margin:0;}
selector td, tr {margin:0; padding: 0.4rem 0.7rem 0.4rem 0.7rem; border:0px solid red; line-height:1em}

Show a random page

To show a button as below, insert a Text Editor box and format as shown. In the text type “Show a random page“.

In Dashboard>Elementor>Code snippets enter this code.

$random_posts = new WP_Query( $args );
if ( $random_posts->have_posts() ) {
echo ‘<h3>’ . esc_html( $title ) . ‘</h3>’;
echo ‘<ul>’;
while ( $random_posts->have_posts() ) {
$random_posts->the_post();
echo ‘<li><a href=”‘ . esc_url( get_permalink() ) . ‘”>’ . esc_html( get_the_title() ) . ‘</a></li>’;
}
echo ‘</ul>’;
}
wp_reset_postdata();

Rolling Banner (now removed)

The homepage now has a rolling banner at the top of the page. Insert an HTML element and add the code below. Change the highlighted text to change the banner.

<div class=”rolling-banner-wrapper”>
  <div class=”rolling-banner”>
    <span>   Please see menu item Our Church>History>Registers to view St James’  Parish Registers since 1559. or click the button on the right to visit a random page</span>
  </div>
</div>
<style>
.rolling-banner-wrapper {  margin-top: -11%; width: 85%;   overflow: hidden;   background-color: none;   color: black;   padding: 0px 9px;  font-size: 16px;   font-family:Philosopher;   text-align: left;   z-index: 9999; }
.rolling-banner {  display: inline-block;   white-space: nowrap;   animation: scroll-left 25s linear infinite; }
@keyframes scroll-left {   0% {    transform: translateX(100%);  }  100% {    transform: translateX(-100%);  }}</style>

 

Add anchor links

  1. In the target page select the element you want to link TO, select Advanced tab, enter an anchor name in CSS ID. e.g. mylink
  2. In the page to link FROM, enter a link and append (e.g.) #mylink

Sitemap

Using widget = Sitemap

Posts

Add a Music post

To create a new post to contain list of music for a service:

  1. Dashboard > Posts > Add New
  2. Add a title as “Music yyyy-mm-dd” (important)
  3. Set category to “MusicForService”
  4. Click Edit with Elementor
  5. Click grey folder icon
  6. Click My Templates, in Library. Select “MusicForServices”, Insert, Apply
  7. Edit Date, Service, Music
  8. Publish

The music should then appear on the Music At Services page. The posts are sorted by title, so the post title must be as shown in step 2.

Add a sermon post

To create a new post to contain a sermon:

  1. Dashboard > Posts > Add New
  2. Add a title e.g. Sermon nn MMM yyyy
  3. Set category to “Sermon” & “What’s Happening”
  4. If sermon not to be published immediately, click Edit against Publish Immediately on right hand side and enter the date it is required to go public
  5. Click Edit with Elementor
  6. Click grey folder icon
  7. Click My Templates, in Library. Select Sermon, Insert, Apply
  8. Edit Title, Text, Prayer and Attribution. Change or remove image
  9. Publish

The sermon should then appear on the Sermon and Latest News pages.

Add a Standard post

To create a new post to appear on Latest News page:

  1. Dashboard > Posts > Add New
  2. Add a title
  3. Set category to “Uncategorized” (temporarily)
  4. Click Set Featured Image, select or upload an image. If you upload an image give it a meaningful filename
  5. If post not to be published immediately, click Edit against Publish Immediately on right hand side and enter the date it is required to go public
  6. Click Edit with Elementor
  7. Insert a Container widget
  8. Into the container insert an image widget, set size to 300px, left, show caption, link to media file (all optional)
  9. Insert a Text Editor widget and insert the text. If copying from (e.g.) a Word file, paste into Text (not Visual) so no formatting is imported
  10. Update. View post (also on page www.stjameschurchabinger.org/allposts). When satisfied, change Category to What’s Happening
  11. Publish

Note: featured image only appears on a Post page, inserted image only appears in “Read more”

Show Posts

The page “Latest News” is configured to show current posts with category “What’s happening”.

Posts are sorted by date (Latest News). To change the order, select Quick Edit on a post and change the date/time as appropriate.

To make all post excerpts show the same number of lines, set post excerpt lines =99 (i.e. a big number). Copy this code into Custom CSS for the Posts section and change line-clamp to the required number: .elementor-post__excerpt { overflow: hidden; width:100%; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }

Using Loop Grid to show Posts

Loop Grids are more flexible than standard Posts element. Insert a Loop Grid onto a page:

  • Edit Template
  • Drag PostTitle, FeaturedImage, Excerpt
  • Set Excerpt=apply to post excerpt=25
  • Set columns=3, items=6,masonry=off
  • Query all, order by date, descending
  • Include by Term=What’s Happening
  • Pagination=number, shorten=no, limit=6
To re-edit Loop Grid, go to Structure and select LoopGrid element

Users

To add/change user2, Dashboard > Users > All Users. For a new user, select a role as: Administrator|- all access; Editor – publish/manage posts and pages; Author – publish and manage own posts/pages; Contributor – Write and manage posts/pages but cannot publish; Subscriber – manage profile only.

Current users shown below.

  1. ClareE (Administrator)
  2. KiaP (Administrator)
  3. LucyH (Administrator)
  4. PhilipR (Administrator)
  5. ohcreative (Faye) (Administrator)
  6. matt (ohcreative) (Administrator)

Site Settings

This website uses the OHC Elementor theme, a child theme of WordPress Twenty Nineteen theme. Site settings reached from icon top-left on any edited page.

  • Body: Josefin sans 20px 400, line height 1.3, colour secondary #8BA38D
  • H1 colour primary #3F3F3F, Marcellus 42px 500 uppercase, letter spc 3.6px
  • H2 Marcellus 30px
  • H3 Marcellus 26px 500 capitalise, letter sp 2.6px, colour#54595F
  • H4 Josefin sans 30px 400
  • H5 Marcellus
  • H6 Marcellus
  • Link red; hover black, bold, underline
  • Images hover opacity 0.5, transition 0.3s, underline, border 1px maroon
  • Global colours: Primary #3F3F3F, Secondary #8BA38D, Rext #3F3F3F, Accent #8496A3
  • Custom colours: Maroon #560303, Offwhite #DBDBD9, Black #000000, Beige #C2B8C1FA, White #FFFFFF

Custom Code

The CSS below is used to format pages for printing and for mobiles. It is set in Dashboard>Elementor>Editor>Custom Elements>Code>Head Links & Styles

<link rel=”stylesheet” href=”https://fonts.googleapis.com/css2?family=Philosopher”> <!–include a google font–>
 
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
 
<!–additional styles, “!important” overules default priority–>
 
<style>
 
/* general style */
.bordertop {border-top: 1px solid grey;}
.border {border:1px solid grey;}
.indent {padding-left:4%;}
.para {margin-top:5px !important;}
.myList {margin:5px 0 0 0 !important;}
 
/* styles for buttons */
  .smallbutton {color:blue; font-size:0.8rem; font-weight:normal; padding:2px 4px 2px 4px; border: 1px solid grey; background-color:cornsilk; border-radius:3px;}
  .smallbutton:hover {background-color:lightyellow;}
 
  .inlineButton {font-family:Tahoma !important; margin:0 8px 0 8px; border-radius: 4px; font-size:85%; color:white; background-color: gainsboro; padding: 0px 9px 0px 9px !important; border:1px solid gray;}
 
.random-button{width:2vw; font-size:clamp(12px, 1.5vw, 18px)}
 
  .banner {text-align: center; border:1px solid gray; padding:2px; margin:12px 5px 5px px; background-color:lightcyan; font-size:75% !important; font-family:Tahoma;}
 
.musicButton {border:0px solid gray; border-left:3px solid gray; font-family: Tahoma; font-size:80%; padding:2px 5px 0px 5px; background-color:lightcyan;}
 
/* reduced lineheight */
.lineHeight {line-height:1.2rem;}
 
/* format page headers */
* .headerFormat {padding:1.5vw 0 2vw 0; margin:2vw 0 2vw 0;}
 
/* styles for standard elements */
li {margin-left:5% !important; list-style-type: square !important;}
a {color:firebrick !important;}
p {margin-top:5px !important;}
 
 
/* styles for images */
.img-left {margin-right:0.5vw;}
.img-right {margin-left: 0.5vw;}
.imgIndent {margin-left: 4vw;}
img:hover {opacity:0.7;}
img.border {border: 1px solid grey;}
.shadowbox {border: 1px solid gray; box-shadow: 3px 3px 5px lightblue;}
 
/* styles for per image gallery */
.per-gallery-gallery {margin: 0 0 15px 0px;}
.per-gallery-container {break-inside: avoid; background-color: lightyellow; border: 1px solid maroon; margin: 0px 18px 18px 0; }
.per-gallery-container img {border: 0px solid maroon; margin: 0 0 0px 0;}
.per-gallery-caption {break-inside: avoid; margin: 0; padding: 2px 0px 2px 15px; border: 0px solid maroon; line-height: 1.2;} 
 
/* set top margin to 0 for class=remove-topbottom-margin */
.remove-topbottom-margin {margin-top: -25px !important; margin-bottom: -20px !important;}
 
  /* specific font for Help page=8228 */
  .page-id-8228 * {font-family: ‘Philosopher’;}
 
  /* colour links in footer/header */
  #footer a {color: lightyellow !important; font-size:80% !important;}
  #header a {color: black !important;}
 
  /* for elements required only for printing */
  @media only screen {.printonly {display: none !important;}}
 
  @media print { 
body {margin:0 0 0 0}
  .noprint, elementor-pagination  {display: none !important;}
.menu {display: none !important;}
  .logo {width: 40% !important;}
  h1 {color:navy !important; font-size: 130% !important; }
  h2 {color: navy !important; font-size: 110% !important;}
  h3 {color: navy !important; font-size: 110% !important;}
    * {line-height: 1.05 !important;  font-size:100% !important; color: black;}
  li {line-height: 1.05 !important;}
  #footer {display: none !important;}
  #content {margin-left: 0; float: none; width: auto;}
  h1, h2, h3, h4, h5, h6 {page-break-after: avoid; }
    blockquote, table {page-break-inside:avoid; }
  a {font-weight:normal !important; color: black !important; text-decoration: underline !important; }
  img {display: block;  margin: 0px !important;  }
.per-image-caption {font-size: 40%; color: gray;}
 
  @page {size: A4 portrait !important; margin: 5% 5% 5% 5% !important;}
 
 
  /* for small desktops */
  @media only screen and (max-width: 1300px)   {
       img {height: auto !important; width: 80% !important;}
}
 
  /* for mobiles */
  @media only screen and (max-width: 600px)   {   img {height: auto !important; width: 60% !important;}      }
 
/* responsive styles – overides @media */
h1 {font-size: clamp(0.9rem,2.7vw, 4.5rem) !important; }
h2 {font-size: clamp(0.8rem,1.6vw, 3.5rem) !important; }
h3 {font-size: clamp(0.7rem,1.4vw, 2.5rem) !important; }
h5 {font-size: clamp(0.6rem,1.2vw, 2.0rem) !important; }
  p, li, tr,td {font-size: clamp(0.7rem,1.4vw,1rem) !important;}
  img.logo {width: 15vw !important;    height: auto; }
 
</style>

Plugins

To create a new plugin:

  1. Create a text file to contain required php code (use ChatGPT to help). 
  2. Zip the file
  3. In Dashboard>Widgets>Add New, upload the zip file, then activate it.
  4. The plugin will show with the name written as against Plugin Name below.

The example below displays 1st 10 images where filename contains ‘choir’, sorted by filename. Shows caption if found. Use shortcode show_images (within []) to display in a text widget.

<?php
/*
Plugin Name: Images Gallery with Captions
Description: A plugin that displays 30 images whose title includes xxx with captions.
Version: 14-Mar-23
Author: Philip Rawlings/ChatGPT
License: GPL2
*/

// Add shortcode to display gallery
add_shortcode( ‘show_images’, ‘display_images_gallery’ );

// Function to display gallery
function display_images_gallery() {

// Query images from media library
$args = array(
‘post_type’ => ‘attachment’,
‘post_mime_type’ => ‘image’,
‘post_status’ => ‘inherit’,
‘posts_per_page’ => 10,
‘order’ => ‘ASC’,
‘orderby’ => ‘title’,
‘s’ => ‘choir’ // Search for images with “choir” in the title
);
$query = new WP_Query( $args );

// Display images in gallery with captions
$output = ‘<div class=”per-images-gallery”>’;
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
$output .= ‘<div class=”per-image-container”>’;
$output .= ‘<a href=”‘ . wp_get_attachment_url( get_the_ID() ) . ‘” target=”_blank”>’ . wp_get_attachment_image( get_the_ID(), ‘full’ ) . ‘</a>’;
if (wp_get_attachment_caption() <> “”) {$output .= ‘<div class=”per-image-caption”>’ . wp_get_attachment_caption() . ‘</div>’;}
$output .= ‘</div>’;
}
} else {
$output .= ‘<p>No images found.</p>’;
}
$output .= ‘</div>’;
wp_reset_postdata();

return $output;

}
?>

Registers

SJs registers (burials, some baptisms) are held in an offline database application (written and maintained by Phil). The data is available here https://www.stjameschurchabinger.org/registers/StJamesRegisters.xml.
Outputs created from that database are copied to the website (using FileZilla) at https://stjameschurchabinger.org/registers (158.255.46.69), and are linked to from the Registers page in WordPress. Ask Phil for the logon details.

Analytics

Google Analytics will show usage of the SJs website, go to https://analytics.google.com/.

Edit header, footer etc.

Dashboard > Templates > Theme Builder

  1. Select item required (e.g. Footers)
  2. Select “so footer” – footer used here, Edit
  3. Make changes, Update

E.g. links on website are shown maroon which does not show on the black footer. So click on the footer section and add “selector a {color: moccasin !important;}” in the custom CSS section. The !important tag prioritises this style over the natural priority.

Spam

The ContactUs page can attract spammers/bots. These can be specifically rejected in Wordfence by URL, etc. 

A hidden ‘honeypot’ field has been added to the contact form; this should then reject contacts where honeypot has been auto-filled in spammers.

Additionally a reCAPTCHA check box has been added that needs to be ticked by a human before the form can be submitted. To implement:

  1. Set up a reCAPTCHA account (google.com/recaptcha/admin/create). user=stjamesabinger@googlemail.com, domain=stjamesabinger.org.
  2. Copy the Site Key and Secret Key
  3. Go to Elementor > Settings > Integration and add the keys in where directed.
  4. In the contact form, add a new item  and change the type to ReCaptcha 

Text written by WordPress AI

I requested an article of 200 words on St James’ Church.

St James Church Abinger is a magnificent and historic structure that is renowned for its stunning architecture and rich heritage. Located in the picturesque village of Abinger Hammer, Surrey in England, this beautiful church was originally built in the 12th century and was devoted to St James the Great. Although it has undergone several renovations and reconstructions over the years, its current structure dates back to the 19th century, when it was rebuilt after a devastating fire destroyed the previous building. The redesign of the church was orchestrated by the highly acclaimed architect, Henry Woodyer, who utilized his signature neo-Gothic style to create a masterpiece of architectural beauty and elegance. With its intricate wood carvings, stained-glass windows and awe-inspiring bell tower, St James Church Abinger is a true marvel that continues to serve as a symbol of faith and spirituality for the surrounding community. Whether you are a local resident or a visitor from afar, this church is a must-see attraction that is sure to captivate your heart and soul. [AI ERRORS IN RED].

Login/Logout St James' website

If you would like to apply for a Login account to help update this site, please email the web team here.