a:6:{i:0;s:10855:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for wordpress developer in ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.pushpadhr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.pushpadhr.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for wordpress developer in ahmedabad</p>
					</div>
					</div>
					</section>
									<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="pt10px">
				<div class="xxxlarge fw6 dif">Wordpress Developer (Wordpress Back-End)</div>
									<p class="mt7px fw6">Ahmedabad</p>
									
				<br>
				<p class="aj mt7px">Plugin development<br />
    Plugin functionality development / customization<br />
    Not plugin designing, Not plugin design customization<br />
    WoCommerce functionality customization<br />
    Theme functionality customization<br />
    Php knowledge<br />
Back-end development is work that WordPress developers do on the server-side, which controls how the site works and encompasses changes and updates. Back-end work involves databases and servers, and developers work on features like structure, security, and content management. They write code in languages like PHP or .NET, which are compatible with databases.<br />
<br />
    Website design – WordPress developers use their design skills to optimize the user’s experience. They incorporate principles of design such as contrast, balance, and unity as a foundation for creating beautiful websites<br />
    Programming – developers are constantly learning and improving their programming and development skills, and have a working knowledge of basic web technologies and the WordPress platform<br />
    Knowledge of industry trends – the world of web development is always changing, and WordPress developers must stay up to date with how the industry is moving so they can anticipate factors that will impact their work<br />
    Attention to detail – successful web development is all about the details, and WordPress developers know that attention to detail is critical to providing a high-quality product<br />
    Communication skills – communication is key for programmers. They communicate not only with other programmers and creatives, but also with the organization or firm’s team and with clients</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  4  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - System Programming</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, B.C.A, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">plugin development</span>
												<span class="bdr dib p2px10px mr5px mt2px">content management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> PHP Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> php</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">Tejal Panchal</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Ahmedabad</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9082430744 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@pushpadgroup.com"> info@pushpadgroup.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="890857">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="891777"><input type="hidden" name="subject" value="Applied for Wordpress Developer (Wordpress Back-End)">
					</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-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(23)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-rajkot.htm" title="Jobs in Rajkot">Rajkot</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bharuch.htm" title="Jobs in Bharuch">Bharuch</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gandhidham.htm" title="Jobs in Gandhidham">Gandhidham</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">(8)</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">(7)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px spanlist dn"><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>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'blBBVUV4V3hFUEM2aFY4UkNBaG1Kdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:85:"Job openings for wordpress developer in ahmedabad | Pushpad HR Consultancy & Services";i:2;s:272:"Wordpress Developer (Wordpress Back-End) Jobs,Wordpress Developer (Wordpress Back-End) Jobs in Ahmedabad,Wordpress Developer (Wordpress Back-End) Vacancy in Ahmedabad,Wordpress Developer (Wordpress Back-End) jobs in India,IT Software - System Programming jobs in Ahmedabad";i:3;s:337:"Apply for Wordpress Developer (Wordpress Back-End) Jobs in Ahmedabad India - Wordpress Developer (Wordpress Back-End) Vacancy  in IT Software - System Programming field with 1 to 2 years Work Experience, Key Skills are plugin development,content management, PHP Development, php, IT Software - System Programming jobs in Ahmedabad  India";i:4;s:2387:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Wordpress Developer (Wordpress Back-End)",
		  "baseSalary": " 2  Lac  To  4  Lac  50 Thousand ",
		  "description": "Plugin development
    Plugin functionality development / customization
    Not plugin designing, Not plugin design customization
    WoCommerce functionality customization
    Theme functionality customization
    Php knowledge
Back-end development is work that WordPress developers do on the server-side, which controls how the site works and encompasses changes and updates. Back-end work involves databases and servers, and developers work on features like structure, security, and content management. They write code in languages like PHP or .NET, which are compatible with databases.

    Website design – WordPress developers use their design skills to optimize the user’s experience. They incorporate principles of design such as contrast, balance, and unity as a foundation for creating beautiful websites
    Programming – developers are constantly learning and improving their programming and development skills, and have a working knowledge of basic web technologies and the WordPress platform
    Knowledge of industry trends – the world of web development is always changing, and WordPress developers must stay up to date with how the industry is moving so they can anticipate factors that will impact their work
    Attention to detail – successful web development is all about the details, and WordPress developers know that attention to detail is critical to providing a high-quality product
    Communication skills – communication is key for programmers. They communicate not only with other programmers and creatives, but also with the organization or firm’s team and with clients",
		  "educationRequirements": "Professional Degree, B.C.A, M.C.A",
		  "experienceRequirements": "1 - 2 Years",
		  "industry": "IT Software - System Programming",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad"
		    }
		  },
		 "qualifications": "Professional Degree, B.C.A, M.C.A",
		     "skills": "plugin development,content management, PHP Development, php"
		  }
		</script>
		";i:5;N;}