Skip to content
View in the app

A better way to browse. Learn more.

Web Designer Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

pilgrim_fgau

Members
  • Joined

  • Last visited

Reputation Activity

  1. Like
    pilgrim_fgau got a reaction from Dayve in Buy and sell sites-how do they work?   
    Language is almost irrelevant at this stage, you should first get to grips of how a dynamic / database driven web application works. Follow some simple tutorials, then it should be a lot easier for you to understand how classified sites works.
  2. Like
    pilgrim_fgau reacted to MMMedia in Best CMS for a news website please?   
    I wish you could give negative votes on this forum...
  3. Like
    pilgrim_fgau reacted to taklamakan in Hows my CV?   
    That looks cool now! But another thing is... fancy CVs do not always attract employers. CV is a official document and thus the design aspect of it should be kept to a minimum. Having it different than the standard version of CV is a wrong thing to do I think. Anyway, all will depend on the interview. Good luck
  4. Like
    pilgrim_fgau reacted to throzen in Hows my CV?   
    *Downloads*
     
    ...I'm so glad my C.V. inspired you this much.
     
     
  5. Like
    CAPTCHA's also a usability nightmare, but I wouldn't recommend using Javascript to submit your form; there are better ways. Try this instead:

    Add an extra text input field to the beginning of your form, with a common name that you're not actually using for your form. If you use "firstname" and "lastname", call it "name". If you use "name", call it "firstname".
    Hide the field using display:none in CSS (important to do it this way instead of using a hidden form field - the important thing is that the HTML should look like a normal form field to a spambot, but users shouldn't see it. Most screenreaders also respect display: none)
    Have your server-side form processing script discard any form submissions that have that field filled in.

    Genuine users will not see that field, and thus will leave it blank. Spambots will attempt to fill it in, because "name" or "firstname" will be common field names that they'll be programmed to fill.
  6. Like
    pilgrim_fgau reacted to Jason Dexter in Please help ASAP   
    Yeah pretty much. You could also use your robots.txt file as well to deny crawler access to these pages
  7. Like
    pilgrim_fgau reacted to Dizi in Please help ASAP   
    You can also request URL removals through Google's webmaster tools, which can help remove them a little quicker than waiting for bots to crawl the site and remove them that way... still add them to your robot.txt file though
  8. Like
    pilgrim_fgau reacted to Renaissance-Design in Wordpress permalinks and google   
    Depends. If you need to query or filter by it, use a taxonomy. Makes more sense and the database is set up for it. Querying by custom fields/meta is expensive on the DB.
  9. Like
    Use...
     

    ( 'posts_per_page=5' );
     
    ... in your query to set how many posts to show per page.
  10. Like
    I use this...
     
    put this in functions.php...
     

    /*************************************************** / PAGINATE /***************************************************/ /* Function that Rounds To The Nearest Value. Needed for the pagenavi() function */ function round_num($num, $to_nearest) { /*Round fractions down (http://php.net/manual/en/function.floor.php)*/ return floor($num/$to_nearest)*$to_nearest; } /* Function that performs a Boxed Style Numbered Pagination (also called Page Navigation). Function is largely based on Version 2.4 of the WP-PageNavi plugin */ function pagenavi($before = '', $after = '') { global $wpdb, $wp_query; $pagenavi_options = array(); $pagenavi_options['pages_text'] = (''); //$pagenavi_options['pages_text'] = ('%CURRENT_PAGE% of %TOTAL_PAGES%:'); $pagenavi_options['current_text'] = '%PAGE_NUMBER%'; $pagenavi_options['page_text'] = '%PAGE_NUMBER%'; $pagenavi_options['first_text'] = ('First'); $pagenavi_options['last_text'] = ('Last'); $pagenavi_options['next_text'] = 'Next'; $pagenavi_options['prev_text'] = 'Prev'; $pagenavi_options['dotright_text'] = '...'; $pagenavi_options['dotleft_text'] = '...'; $pagenavi_options['num_pages'] = 5; //continuous block of page numbers $pagenavi_options['always_show'] = 0; $pagenavi_options['num_larger_page_numbers'] = 0; $pagenavi_options['larger_page_numbers_multiple'] = 5; //If NOT a single Post is being displayed /*http://codex.wordpress.org/Function_Reference/is_single)*/ if (!is_single()) { $request = $wp_query->request; //intval — Get the integer value of a variable /*http://php.net/manual/en/function.intval.php*/ $posts_per_page = intval(get_query_var('posts_per_page')); //Retrieve variable in the WP_Query class. /*http://codex.wordpress.org/Function_Reference/get_query_var*/ $paged = intval(get_query_var('paged')); $numposts = $wp_query->found_posts; $max_page = $wp_query->max_num_pages; //empty — Determine whether a variable is empty /*http://php.net/manual/en/function.empty.php*/ if(empty($paged) || $paged == 0) { $paged = 1; } $pages_to_show = intval($pagenavi_options['num_pages']); $larger_page_to_show = intval($pagenavi_options['num_larger_page_numbers']); $larger_page_multiple = intval($pagenavi_options['larger_page_numbers_multiple']); $pages_to_show_minus_1 = $pages_to_show - 1; $half_page_start = floor($pages_to_show_minus_1/2); //ceil — Round fractions up (http://us2.php.net/manual/en/function.ceil.php) $half_page_end = ceil($pages_to_show_minus_1/2); $start_page = $paged - $half_page_start; if($start_page <= 0) { $start_page = 1; } $end_page = $paged + $half_page_end; if(($end_page - $start_page) != $pages_to_show_minus_1) { $end_page = $start_page + $pages_to_show_minus_1; } if($end_page > $max_page) { $start_page = $max_page - $pages_to_show_minus_1; $end_page = $max_page; } if($start_page <= 0) { $start_page = 1; } $larger_per_page = $larger_page_to_show*$larger_page_multiple; //round_num() custom function - Rounds To The Nearest Value. $larger_start_page_start = (round_num($start_page, 10) + $larger_page_multiple) - $larger_per_page; $larger_start_page_end = round_num($start_page, 10) + $larger_page_multiple; $larger_end_page_start = round_num($end_page, 10) + $larger_page_multiple; $larger_end_page_end = round_num($end_page, 10) + ($larger_per_page); if($larger_start_page_end - $larger_page_multiple == $start_page) { $larger_start_page_start = $larger_start_page_start - $larger_page_multiple; $larger_start_page_end = $larger_start_page_end - $larger_page_multiple; } if($larger_start_page_start <= 0) { $larger_start_page_start = $larger_page_multiple; } if($larger_start_page_end > $max_page) { $larger_start_page_end = $max_page; } if($larger_end_page_end > $max_page) { $larger_end_page_end = $max_page; } if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) { /*http://php.net/manual/en/function.str-replace.php */ /*number_format_i18n(): Converts integer number to format based on locale (wp-includes/functions.php*/ $pages_text = str_replace("%CURRENT_PAGE%", number_format_i18n($paged), $pagenavi_options['pages_text']); $pages_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pages_text); echo $before.'<div class="pagenavi">'."\n"; if(!empty($pages_text)) { echo '<span class="pages">'.$pages_text.'</span>'; } //Displays a link to the previous post which exists in chronological order from the current post. /*http://codex.wordpress.org/Function_Reference/previous_post_link*/ previous_posts_link($pagenavi_options['prev_text']); if ($start_page >= 2 && $pages_to_show < $max_page) { $first_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['first_text']); //esc_url(): Encodes < > & " ' (less than, greater than, ampersand, double quote, single quote). /*http://codex.wordpress.org/Data_Validation*/ //get_pagenum_link():(wp-includes/link-template.php)-Retrieve get links for page numbers. echo '<a href="'.esc_url(get_pagenum_link()).'" class="first" title="'.$first_page_text.'">1</a>'; if(!empty($pagenavi_options['dotleft_text'])) { echo '<span class="expand">'.$pagenavi_options['dotleft_text'].'</span>'; } } if($larger_page_to_show > 0 && $larger_start_page_start > 0 && $larger_start_page_end <= $max_page) { for($i = $larger_start_page_start; $i < $larger_start_page_end; $i+=$larger_page_multiple) { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']); echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="single_page" title="'.$page_text.'">'.$page_text.'</a>'; } } for($i = $start_page; $i <= $end_page; $i++) { if($i == $paged) { $current_page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['current_text']); echo '<span class="current">'.$current_page_text.'</span>'; } else { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']); echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="single_page" title="'.$page_text.'">'.$page_text.'</a>'; } } if ($end_page < $max_page) { if(!empty($pagenavi_options['dotright_text'])) { echo '<span class="expand">'.$pagenavi_options['dotright_text'].'</span>'; } $last_page_text = str_replace("%TOTAL_PAGES%", number_format_i18n($max_page), $pagenavi_options['last_text']); echo '<a href="'.esc_url(get_pagenum_link($max_page)).'" class="last" title="'.$last_page_text.'">'.$max_page.'</a>'; } next_posts_link($pagenavi_options['next_text'], $max_page); if($larger_page_to_show > 0 && $larger_end_page_start < $max_page) { for($i = $larger_end_page_start; $i <= $larger_end_page_end; $i+=$larger_page_multiple) { $page_text = str_replace("%PAGE_NUMBER%", number_format_i18n($i), $pagenavi_options['page_text']); echo '<a href="'.esc_url(get_pagenum_link($i)).'" class="single_page" title="'.$page_text.'">'.$page_text.'</a>'; } } echo '</div>'.$after."\n"; } } }
     
    and call it after your loops endwhile, example...
     

    <?php endwhile; ?> <?php if(function_exists('pagenavi')) { pagenavi(); } ?>
     
    of course, you'll have to style it in the css.
  11. Like
    pilgrim_fgau reacted to 4colourprogress in Urgent advice required!   
    Did you generate secret keys in your wp-config? Did you try placing index.html files inside directories or try moving the wp-config file up one level into the root? All these things can help secure the site.
  12. Like
    pilgrim_fgau reacted to MikeChipshop in Urgent advice required!   
    Why do people work without a contract?
     
    Anyway, if the site was finished and out of your ands then you're obliged to do nothing.
     
    Oh and for gods sake use a contract and do thigs properly from now on...
  13. Like
    pilgrim_fgau reacted to Wickham in Div extending to size of content   
    The empty div method isn't really wrong, lots of people do it. It validates but to a blind person's screen reader it will read out the start of a new div but no content which may be confusing, so it's prefeable to use one of the other methods. Don't worry about it too much.
  14. Like
    pilgrim_fgau reacted to Renaissance-Design in Div extending to size of content   
    I use overflow: hidden.
  15. Like
    pilgrim_fgau reacted to MikeChipshop in wordpress pages and posts   
    You can split the page in to Custom fields.
     
    Have the main editor for the main content and then have a few custom fields/forms to pull the rest which the theme then places in the appropriate place.
     
    For example... If i want the main content at the top of the page and then a video underneath, i'd have the main 'new posts' page text area to add the content and underneath that i'd use a custom field called 'youtube' or whatever where the client would add the url to the video.
     
    Then in the theme i'd call the 'Content' and 'youtube' in separate points where i wanted them to display.
     
    I've currently done it this way for a haulage firms stock items posts.
    At the bottom of the 'new post' page i have a checkbox marked 'This is a stock item'. Once clicked an extra box expands with upload buttons for the stock images and an extra text box for the stock price.
     
    Additional reading on 'Custom Fields' here.
  16. Like
    pilgrim_fgau reacted to MikeChipshop in Client with little content   
    Once you get to a point where the client is looking for things such as copy and blurbs etc then you're entering the realm of branding management and should charge accordingly.
  17. Like
    pilgrim_fgau reacted to RobbieD90 in This forum is...   
    I find that a little bit unfair. Most of the people who post stuff such as that are just beginners. They need an helping hand in direction they need to take.
     
    I have posted some dross here at times but because people have pointed out where I have gone wrong I have improved no end. I'm not saying I am brilliant but the more I learn from the professionals the better I will become.
     
    If you don't want to give advice don't, but don't keep moaning on about everyone being at such a sub standard compared to yourself.
     
    Just to add I like this forum and compared to others there is no contest.
  18. Like
    pilgrim_fgau reacted to MikeChipshop in Wordpress, page not found   
    Damn Chris beats me to everything today!
     
    You need a 404.php file in your theme folder, otherwise any errors will default to the index.php file.
     
    The same goes for other error pages too (and for every template file not found).
  19. Like
    pilgrim_fgau reacted to Renaissance-Design in Wordpress, page not found   
    Does your theme have a 404.php?
  20. Like
    pilgrim_fgau reacted to CSN-UK in Noob questions on Ecommerce systems   
    Hi Pilgrim ,
     
    We've all got to start somewhere; at least you're not afraid to ask which is the sign of a "noob" in my opinion.
     
    As for your questions, the templates provided with both open cart and zen cart are reasonably easy to modify if you have a handle on html and css, you can also find something appropriate on one of the many template sites and use that as a start point however.
     
    Here is a link to the zen cart wiki which covers the first few steps, I would recommend you create a new template as it suggests and work on this rather than the default.
    http://www.zen-cart.com/wiki/index.php/Customisation_-_Templates_-_Customizing
     
    As for working on it offline, this is perfectly possible through a virtual server, there are many popular LAMP installs however personally I use WAMP (http://www.wampserver.com/en/download.php) which suits the needs of most.
     
    To use Wamp, select the version appropriate to you and install, once complete launch WampServer you will have an icon in your task bar (windows) which should turn green, left clicking on this icon will give you access to all of the server settings, for now open localhost and then again open phpmyadmin.
    To create your database:


     
    Go to the phpmyadmin webpage
    Databases tab (top left)
    Then type in a name and press create
    Once complete click "check privileges" next to the database you created
    Click "Add a new User" (bottom of this page)
    Enter a username, and password (save the password and username at this point)
    Scroll down to "global privileges" and click "check all"
    Once complete press "go" bottom right of the page and your user will be created/added to your database.

     
    Setting up Zen Cart


     
    Once again click the Wamp icon in your task bar and select "www directory"
    Windows should open a folder, inside this create a new folder for example "my site"
    Click inside this folder and extract the zen cart zip here.
    Refresh the localhost page and under "your projects" you will see your folder, click this.
    Follow the onscreen instructions from zen cart using the database details you setup earlier

     
    Possibly a bit overkill, but should point you in the right direction
  21. Like
    pilgrim_fgau reacted to Dcruize in How to get backlinks for my site?   
    Why would the visitors not buy the products? They haven't followed a backlink - they've performed a search and clicked the site at the top.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.