a:6:{i:0;s:9027:"				<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
									<div class="h1"><h1>Job openings for wordpress developer in chennai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.bsrics.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for wordpress developer in chennai</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Wordpress Developer</div>
									<p class="mt7px fw6">Chennai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1043354"><input type="hidden" name="subject" value="Applied for Wordpress Developer">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.bsrics.com/vacancy_1043354.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">WordPress Developers design, implement and maintain websites using WordPress, a free, open-source content management system (CMS). Most projects will include the need for both front-end and back-end development — everything from plug-ins to security updates. WordPress Developers establish and guide website architecture.<br />
<br />
Design, implement and maintain websites using WordPress<br />
Collaborate with members of creative and development teams<br />
Handle front-end and back-end website development<br />
Build WordPress themes and plug-ins<br />
Maintain well-documented, reusable, and transferrable code<br />
Investigate and resolve website problems for clients and co-workers<br />
Stay ahead of new developments in software, trends, and practices<br />
Skills and Proficiencies<br />
Advanced proficiency in using WordPress to build dynamic, highly-interactive websites<br />
Agency experience is a big plus<br />
Working knowledge of using Git for code versioning<br />
Solid understanding of front-end builders like WP-Bakery, Elementor or something similar<br />
Expertise in HTML5, CSS3, JavaScript, and jQuery. Experience in Javascript frameworks, like Angular, React and Vue is a plus.<br />
Basic understanding of PHP code patterns and structure<br />
Ability to create front end experiences that start with provided design files from tools like Adobe XD, Photoshop, Sketch and Figma.<br />
The conceptual ability to translate static page elements into animated page elements that enhance the user experience, using CSS and Javascript<br />
Experience using Browser based debugging tools like Chrome Inspector<br />
Solid grasp of front-end and back-end website development<br />
Keen attention to detail</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 12 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  To   25 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Client Server</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Wordpress Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px">Jquery</span>
												<span class="bdr dib p2px10px mr5px mt2px">Javascript</span>
												<span class="bdr dib p2px10px mr5px mt2px">Angular js</span>
												<span class="bdr dib p2px10px mr5px mt2px">Photoshop</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1043354"><input type="hidden" name="subject" value="Applied for Wordpress Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'SU13T24rcGkzd24zYW4vSDVva0prUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for wordpress developer in chennai | BSRI Solutions Pvt Ltd";i:2;s:177:"Wordpress Developer Jobs,Wordpress Developer Jobs in Chennai,Wordpress Developer Vacancy in Chennai,Wordpress Developer jobs in India,IT Software - Client Server jobs in Chennai";i:3;s:281:"Apply for Wordpress Developer Jobs in Chennai India - Wordpress Developer Vacancy  in IT Software - Client Server field with 6 to 12 years Work Experience, Key Skills are Wordpress Developer,Jquery,Javascript,Angular js,Photoshop, IT Software - Client Server jobs in Chennai  India";i:4;s:2751:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Wordpress Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1043354"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "http://www.bsrics.com/job-openings-for-wordpress-developer-chennai-1043354.htm",
          "datePosted": "2021-06-10",
          
		  "baseSalary": " 6  Lac  To   25 Lac ",
		  "description": "WordPress Developers design, implement and maintain websites using WordPress, a free, open-source content management system (CMS). Most projects will include the need for both front-end and back-end development — everything from plug-ins to security updates. WordPress Developers establish and guide website architecture.

Design, implement and maintain websites using WordPress
Collaborate with members of creative and development teams
Handle front-end and back-end website development
Build WordPress themes and plug-ins
Maintain well-documented, reusable, and transferrable code
Investigate and resolve website problems for clients and co-workers
Stay ahead of new developments in software, trends, and practices
Skills and Proficiencies
Advanced proficiency in using WordPress to build dynamic, highly-interactive websites
Agency experience is a big plus
Working knowledge of using Git for code versioning
Solid understanding of front-end builders like WP-Bakery, Elementor or something similar
Expertise in HTML5, CSS3, JavaScript, and jQuery. Experience in Javascript frameworks, like Angular, React and Vue is a plus.
Basic understanding of PHP code patterns and structure
Ability to create front end experiences that start with provided design files from tools like Adobe XD, Photoshop, Sketch and Figma.
The conceptual ability to translate static page elements into animated page elements that enhance the user experience, using CSS and Javascript
Experience using Browser based debugging tools like Chrome Inspector
Solid grasp of front-end and back-end website development
Keen attention to detail",
		  "educationRequirements": "",
		  "experienceRequirements": "6 - 12 Years",
		  "industry": "IT Software - Client Server",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "",
		     "skills": "Wordpress Developer,Jquery,Javascript,Angular js,Photoshop"
		  }
		</script>
		";i:5;N;}